jQuery版AJAX简易封装

开发过程中,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);
            }
        });
    };

});
时间: 2024-09-28 05:14:17

jQuery版AJAX简易封装的相关文章

原生态AJAX详解和jquery对AJAX的封装

AJAX: A :Asynchronous [eI`sinkrenes] 异步 J :JavaScript    JavaScript脚本语言 A: And X :XML 可扩展标记语言 AJAX现在貌似已经无处不在了,其实自从web2.0的广泛发展带来了AJAX的发展.我们目前的客户端可以分为胖客户端(C/S).廋客户端(B/S), PS:胖客户泛指客户端承担一部分计算工作减轻服务器压力.典型应用 :C / S架构的客户端.瘦客户泛指客户端不承担任何计算工作,完全依赖服务器端计算.典型应用:B

基于jquery的ajax方法封装

在实际的项目里,ajax的应用频率很高,所以尽管jquery或者其他的一些类似的js库做了非常不错的封装,仍然有进一步封装简化的空间和必要 举一个例子,很久很久以前,我的ajax是这么写的: $.ajax({ url: 'www.baidu.com/getInfo', type: 'POST', data: { name: 'jack', age: 18 }, dataType: 'json', success: function(resp){ // callback }, error: fun

【JavaWeb】jQuery对Ajax的支持

jQuery对Ajax的支持 jQuery对Ajax进行封装,提供了$.ajax()方法 语法:$.ajax(options) 常用设置项 说明 url 发送请求地址 type 请求类型get|post data 向服务器传递的参数 dataType 服务器响应的数据类型text|json|xml|html|jsonp|script success 接收响应时的处理函数 error 请求失败时的处理函数 实例代码 MusicServlet.java package demo; import ja

封装一个类似jquery的ajax方法

//封装一个类似jquery的ajax方法,当传入参数,就可以发送ajax请求 //参数格式如下{ // type:"get"/"post", // dataType:"json"/"jsonp", // url:"地址", // data:{key:value} // success:function(){ // } // } //还需要一个跨域方法,可以访问远程服务器的数据 function myAja

原生js和jquery发送ajax请求及封装

原生js                                   // ajax get 五部曲function ajax_get(url,data){ // 异步对象 var ajax=new XMLHttpRequest(); // 设置url和请求方式 // url方法 如果有数据要把数据拼接到url中?name=jack&age=20 if(data){ url+=?; url+=data; }else{}; ajax.open('get',url); // 发送请求 aja

javascript ajax 简易的封装

1 function ajax(obj){ 2 var xhr = (function (){//获取xhr对象,为了兼容ie6所以进行了重新封装 3 if(typeof XMLHttpRequest !='undefined') { 4 return new XMLHttpRequest(); 5 }else if(typeof ActiveXObject !='undefined') { 6 var version = [ 7 'MSXML2.XMLHttp6.0', 8 'MSXML2.X

对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache

虽然jquery的较新的api已经很好用了, 但是在实际工作还是有做二次封装的必要,好处有:1,二次封装后的API更加简洁,更符合个人的使用习惯:2,可以对ajax操作做一些统一处理,比如追加随机数或其它参数.同时在工作中,我们还会发现,有一些ajax请求的数据,对实时性要求不高,即使我们把第一次请求到的这些数据缓存起来,然后当相同请求再次发起时直接拿之前缓存的数据返回也不会对相关功能有影响,通过这种手工的缓存控制,减少了ajax请求,多多少少也能帮助我们提高网页的性能.本文介绍我自己关于这两方

Ajax学习(二):模仿jQuery的Ajax封装工具

通过上一节的学习,基本了解Ajax的使用, 但是这样使用很麻烦,这里封装ajax为一个方法,作为一个ajax工具,传入相应参数就可以实现ajax的使用. 模仿jQuery的Ajax. 如下是jQuery的Ajax使用,只需要传入相应参数,即可实现Ajax 第一步:创建Ajax工具类: function createXMLRequst(){ try{ return new XMLHttpRequest(); }catch(e) { try{ return new ActiveXObject("Ms

份-城市,基于jQuery的AJAX二级联动,用Struts2整合AJAX【非数据库版】

package loaderman.provincecity; import java.io.IOException; import java.util.LinkedHashSet; import java.util.Set; import com.opensymphony.xwork2.ActionSupport; /** * 控制器 * @author AdminTC */ public class ProvinceCityAction extends ActionSupport{ priv