jQuery版AJAX简易封装代码


Posted in Javascript onSeptember 14, 2016

开发过程中,AJAX的应用应该说非常频繁,当然,jQuery的AJAX函数已经非常好用,但是小编还是稍微整理下,方便不同需求下,可以简化输入参数,下面是实例代码:

$(function(){
  /**
   * ajax封装
   * url 发送请求的地址
   * data 发送到服务器的数据,数组存储,如:{"date": new Date().getTime(), "state": 1}
   * async 默认值: true。默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。
   *    注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
   * type 请求方式("POST" 或 "GET"), 默认为 "GET"
   * dataType 预期服务器返回的数据类型,常用的如:xml、html、json、text
   * successfn 成功回调函数
   * errorfn 失败回调函数
   */
  jQuery.syncAjax=function(url, data, async, type, dataType, successfn, errorfn) {
    async = (async==null || async=="" || typeof(async)=="undefined")? "true" : async;
    type = (type==null || type=="" || typeof(type)=="undefined")? "post" : type;
    dataType = (dataType==null || dataType=="" || typeof(dataType)=="undefined")? "json" : dataType;
    data = (data==null || data=="" || typeof(data)=="undefined")? {"date": new Date().getTime()} : data;
    $.ajax({
      type: type,
      async: async,
      data: data,
      url: url,
      dataType: dataType,
      success: function(d){
        successfn(d);
      },
      error: function(e){
        errorfn(e);
      }
    });
  };
  
  /**
   * ajax封装
   * url 发送请求的地址
   * data 发送到服务器的数据,数组存储,如:{"date": new Date().getTime(), "state": 1}
   * successfn 成功回调函数
   */
  jQuery.jsonAjax=function(url, data, successfn) {
    data = (data==null || data=="" || typeof(data)=="undefined")? {"date": new Date().getTime()} : data;
    $.ajax({
      type: "post",
      data: data,
      url: url,
      dataType: "json",
      success: function(d){
        successfn(d);
      }
    });
  };
  
  /**
   * ajax封装
   * url 发送请求的地址
   * data 发送到服务器的数据,数组存储,如:{"date": new Date().getTime(), "state": 1}
   * dataType 预期服务器返回的数据类型,常用的如:xml、html、json、text
   * successfn 成功回调函数
   * errorfn 失败回调函数
   */
  jQuery.jsonAjax2=function(url, data, successfn, errorfn) {
    data = (data==null || data=="" || typeof(data)=="undefined")? {"date": new Date().getTime()} : data;
    $.ajax({
      type: "post",
      data: data,
      url: url,
      dataType: "json",
      success: function(d){
        successfn(d);
      },
      error: function(e){
        errorfn(e);
      }
    });
  };



});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
window.open()弹出居中的窗口
Feb 01 Javascript
javascript中节点的最近的相关节点访问方法
Mar 20 Javascript
Extjs优化(一)删除冗余代码提高运行速度
Apr 15 Javascript
JQuery做的一个简单的点灯游戏分享
Jul 16 Javascript
jQuery实现流动虚线框的方法
Jan 29 Javascript
jquery实现勾选复选框触发事件给input赋值
Feb 01 Javascript
jquery pagination插件动态分页实例(Bootstrap分页)
Dec 23 Javascript
JS常见疑难点分析之match,charAt,charCodeAt,map,search用法分析
Dec 25 Javascript
浅析JS中回调函数及用法
Jul 25 Javascript
使用vue.js在页面内组件监听scroll事件的方法
Sep 11 Javascript
解决vue打包后vendor.js文件过大问题
Jul 03 Javascript
Vue3中toRef与toRefs的区别
Mar 24 Vue.js
原生JS实现首页进度加载动画
Sep 14 #Javascript
jquery判断iPhone、Android设备类型
Sep 14 #Javascript
Angularjs 实现分页功能及示例代码
Sep 14 #Javascript
Angularjs CURD 详解及实例代码
Sep 14 #Javascript
Angular Module声明和获取重载实例代码
Sep 14 #Javascript
javascript经典特效分享 手风琴、轮播图、图片滑动
Sep 14 #Javascript
Angular 应用技巧总结
Sep 14 #Javascript
You might like
echo, print, printf 和 sprintf 区别
2006/12/06 PHP
php实现保存submit内容之后禁止刷新
2014/03/19 PHP
解密ThinkPHP3.1.2版本之模块和操作映射
2014/06/19 PHP
PHP 代码简洁之道(小结)
2019/10/16 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
2020/05/02 PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
2020/08/24 PHP
php使用event扩展的io复用测试的示例
2020/10/20 PHP
可以文本显示的公告栏的js代码
2007/03/11 Javascript
JavaScript分页功能的实现方法
2015/04/25 Javascript
jQuery表单验证功能实例
2015/08/28 Javascript
jQuery 中的 DOM 操作
2016/04/26 Javascript
node.js中EJS 模板快速入门教程
2017/05/08 Javascript
jquery实现下拉菜单的手风琴效果
2017/07/23 jQuery
Angular使用cli生成自定义文件、组件的方法
2018/09/04 Javascript
解决vue A对象赋值给B对象,修改B属性会影响到A的问题
2018/09/25 Javascript
使用vue 国际化i18n 实现多实现语言切换功能
2018/10/11 Javascript
json.stringify()与json.parse()的区别以及用处
2021/01/25 Javascript
[03:11]DOTA2上海特锦赛小组赛第一日recap精彩回顾
2016/02/28 DOTA
python3结合openpyxl库实现excel操作的实例代码
2018/09/11 Python
Python操作多维数组输出和矩阵运算示例
2019/11/28 Python
利用python批量爬取百度任意类别的图片的实现方法
2020/10/07 Python
python中pyqtgraph知识点总结
2021/01/26 Python
使用canvas压缩图片大小的方法示例
2019/08/02 HTML / CSS
清除canvas画布内容(点擦除+线擦除)
2020/08/12 HTML / CSS
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
英国蜡烛、蜡烛配件和家居香氛购买网站:Yankee Candle
2018/12/12 全球购物
LORAC官网:美国彩妆品牌
2019/08/27 全球购物
Hotels.com韩国:海外国内旅行所需的酒店和住宿预订网站
2020/05/08 全球购物
Java中各种基本数据类型的默认值都是什么
2016/12/22 面试题
高分子材料个人求职信范文
2013/09/25 职场文书
采购助理岗位职责
2014/02/16 职场文书
机电职业生涯规划书范文
2014/03/08 职场文书
经典演讲稿开场白
2014/08/25 职场文书
2016三八妇女节校园广播稿
2015/12/17 职场文书
党风廉洁教育心得体会
2016/01/20 职场文书
Golang 1.18 多模块Multi-Module工作区模式的新特性
2022/04/11 Golang