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 相关文章推荐
Prototype使用指南之array.js
Jan 10 Javascript
Javascript 函数中的参数使用分析
Mar 27 Javascript
jquery中this的使用说明
Sep 06 Javascript
javascript动态控制服务器控件实例
Sep 05 Javascript
javascript中Date对象的getDay方法使用指南
Dec 22 Javascript
js中函数声明与函数表达式
Jun 03 Javascript
js的flv视频播放器插件使用方法
Jun 23 Javascript
理解javascript中的with关键字
Feb 15 Javascript
微信小程序 获取设备信息 API实例详解
Oct 02 Javascript
vue 弹窗时 监听手机返回键关闭弹窗功能(页面不跳转)
May 10 Javascript
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
Jul 16 Javascript
小程序如何在不同设备上自适应生成海报的实现方法
Aug 20 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记录代码执行时间(实现代码)
2013/07/05 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
PHP 断点续传实例详解
2017/11/11 PHP
PHP模版引擎原理、定义与用法实例
2019/03/29 PHP
Laravel定时任务的每秒执行代码
2019/10/22 PHP
js中设置元素class的三种方法小结
2011/08/28 Javascript
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
js获得参数的getParameter使用示例
2014/02/26 Javascript
js获取视频时长代码
2014/04/10 Javascript
jquery数组过滤筛选方法grep()简介
2014/06/06 Javascript
JavaScript检查子字符串是否在字符串中的方法
2016/02/03 Javascript
Jquery实现遮罩层的简单实例(就是弹出DIV周围都灰色不能操作)
2016/07/14 Javascript
AngularJS指令详解及示例代码
2016/08/16 Javascript
利用yarn实现一个webpack+react种子
2016/10/25 Javascript
jQuery实现两个select控件的互移操作
2016/12/22 Javascript
angular-cli修改端口号【angular2】
2017/04/19 Javascript
关于Vue背景图打包之后访问路径错误问题的解决
2017/11/03 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
小程序实现带年月选取效果的日历
2018/06/27 Javascript
JS使用tween.js动画库实现轮播图并且有切换功能
2018/07/17 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
2020/05/21 Javascript
Python学习笔记之os模块使用总结
2014/11/03 Python
Python将阿拉伯数字转换为罗马数字的方法
2015/07/10 Python
深入解析Python中的线程同步方法
2016/06/14 Python
详解python的webrtc库实现语音端点检测
2017/05/31 Python
基于python时间处理方法(详解)
2017/08/14 Python
unittest+coverage单元测试代码覆盖操作实例详解
2018/04/04 Python
numpy中的delete删除数组整行和整列的实例
2018/05/09 Python
使用Python处理BAM的方法
2018/09/28 Python
HTML5 Blob 实现文件下载功能的示例代码
2019/11/29 HTML / CSS
工商企业管理实习自我鉴定
2013/12/04 职场文书
最新奶茶店创业计划书
2014/01/25 职场文书
2015年公司保安年终工作总结
2015/05/14 职场文书
大学生如何逃脱“毕业季创业队即散伙”魔咒?
2019/08/19 职场文书
SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询
2022/05/25 SQL Server