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 相关文章推荐
用于节点操作的API,颠覆原生操作HTML DOM节点的API
Dec 11 Javascript
jQuery.autocomplete 支持中文输入(firefox)修正方法
Mar 10 Javascript
JavaScript中的闭包介绍
Mar 15 Javascript
javascript 用函数实现继承详解
May 28 Javascript
AngularJs Understanding the Controller Component
Sep 02 Javascript
jQuery的extend方法【三种】
Dec 14 Javascript
简单谈谈require模块化jquery和angular的问题
Jun 23 jQuery
浅谈angular4实际项目搭建总结
Dec 01 Javascript
Angular项目从新建、打包到nginx部署全过程记录
Dec 09 Javascript
Nginx 配置多站点vhost 的方法
Jan 07 Javascript
JS Math对象与Math方法实例小结
Jul 05 Javascript
浅谈JS中this在各个场景下的指向
Aug 14 Javascript
原生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
php动态生成JavaScript代码
2009/03/09 PHP
解析array splice的移除数组中指定键的值,返回一个新的数组
2013/07/02 PHP
php版微信数据统计接口用法示例
2016/10/12 PHP
在JavaScript中通过URL传递汉字的方法
2007/04/09 Javascript
js插件方式打开pdf文件(浏览器pdf插件分享)
2013/12/20 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
2015/06/10 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
Bootstrap自定义文件上传下载样式
2016/05/26 Javascript
js内置对象处理_打印学生成绩单的简单实现
2016/09/24 Javascript
Android中Okhttp3实现上传多张图片同时传递参数
2017/02/18 Javascript
微信小程序canvas拖拽、截图组件功能
2018/09/04 Javascript
javascript使用链接跨域下载图片
2019/11/01 Javascript
javascript 模块依赖管理的本质深入详解
2020/04/30 Javascript
JavaScript 实现下雪特效的示例代码
2020/09/09 Javascript
Python Web框架Pylons中使用MongoDB的例子
2013/12/03 Python
python抓取京东商城手机列表url实例代码
2013/12/18 Python
使用Python神器对付12306变态验证码
2016/01/05 Python
python中的文件打开与关闭操作命令介绍
2018/04/26 Python
Python爬虫抓取代理IP并检验可用性的实例
2018/05/07 Python
Django实现登录随机验证码的示例代码
2018/06/20 Python
用python生成1000个txt文件的方法
2018/10/25 Python
解决python中使用PYQT时中文乱码问题
2019/06/17 Python
python区块及区块链的开发详解
2019/07/03 Python
PyCharm中如何直接使用Anaconda已安装的库
2020/05/28 Python
CSS3 border-image详解、应用及jQuery插件
2011/08/29 HTML / CSS
HTML5 progress和meter控件_动力节点Java学院整理
2017/07/06 HTML / CSS
Blue Nile台湾:钻石珠宝商,订婚首饰、结婚戒指和精品首饰
2017/11/24 全球购物
工业学校毕业生自荐书
2014/01/03 职场文书
党校培训自我鉴定
2014/02/01 职场文书
护士求职自荐信范文
2014/03/19 职场文书
保护环境倡议书范文
2014/05/13 职场文书
廉洁教育学习材料
2014/05/19 职场文书
2016年优秀少先队员事迹材料
2016/02/26 职场文书
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
2021/06/21 Oracle
SQL实现LeetCode(178.分数排行)
2021/08/04 MySQL
Python图片验证码降噪和8邻域降噪
2021/08/30 Python