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 相关文章推荐
Google Suggest ;-) 基于js的动态下拉菜单
Oct 11 Javascript
firebug的一个有趣现象介绍
Nov 30 Javascript
通过AJAX的JS、JQuery两种方式解析XML示例介绍
Sep 23 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
Mar 03 Javascript
jquery衣服颜色选取插件效果代码分享
Aug 28 Javascript
JS中创建函数的三种方式及区别
Mar 13 Javascript
plupload+artdialog实现多平台上传文件
Jul 19 Javascript
AngularJS 指令的交互详解及实例代码
Sep 14 Javascript
JS实现搜索框文字可删除功能
Dec 28 Javascript
bootstrap动态调用select下拉框的实例代码
Aug 09 Javascript
vue自定义tap指令及tap事件的实现
Sep 18 Javascript
JS开发 富文本编辑器TinyMCE详解
Jul 19 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实现信用卡校验位算法THE LUHN MOD-10示例
2014/05/07 PHP
php输出金字塔的2种实现方法
2014/12/16 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
php微信开发之关注事件
2018/06/14 PHP
Laravel5.5 实现后台管理登录的方法(自定义用户表登录)
2019/09/30 PHP
jQuery的学习步骤
2011/02/23 Javascript
JS判断当前日期是否大于某个日期的实现代码
2012/09/02 Javascript
没有document.getElementByName方法
2013/08/19 Javascript
jquery.qrcode在线生成二维码使用示例
2013/08/21 Javascript
Javascript Ajax异步读取RSS文档具体实现
2013/12/12 Javascript
js通过八个点 拖动改变div大小的实现方法
2014/03/05 Javascript
node.js中的http.response.setHeader方法使用说明
2014/12/14 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
2016/12/19 Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
2016/12/21 Javascript
简单实现js选项卡切换效果
2017/02/09 Javascript
自定义PC微信扫码登录样式写法
2017/12/12 Javascript
vue之浏览器存储方法封装实例
2018/03/15 Javascript
Vue项目自动转换 px 为 rem的实现方法
2018/10/29 Javascript
详解使用React.memo()来优化函数组件的性能
2019/03/19 Javascript
vue操作动画的记录animate.css实例代码
2019/04/26 Javascript
基于canvasJS在PHP中制作动态图表
2020/05/30 Javascript
Python日期操作学习笔记
2008/10/07 Python
linux环境下python中MySQLdb模块的安装方法
2017/06/16 Python
python使用tcp实现局域网内文件传输
2020/03/20 Python
对django的User模型和四种扩展/重写方法小结
2019/08/17 Python
详解numpy.ndarray.reshape()函数的参数问题
2020/10/13 Python
统计员岗位职责
2013/11/14 职场文书
初二生物教学反思
2014/02/03 职场文书
经典洗发水广告词
2014/03/13 职场文书
小学班干部竞选演讲稿
2014/04/24 职场文书
《春雨》教学反思
2014/04/24 职场文书
2014年教师节寄语
2014/08/11 职场文书
科学发展观演讲稿
2014/09/11 职场文书
党支部半年考察意见
2015/06/01 职场文书
交互式可视化js库gojs使用介绍及技巧
2022/02/18 Javascript