ajax接口封装方法

2025-11-20 16:57:25

1、参数: @type:        “xml”,”html”,”javascript”,”json”数据类型; @url:      请求的响应页面; @sdata:  POST的数据; @callback: 处理响应数据的回调函数;

ajax接口封装方法

2、返回值:如果是异步,返回异步请求对象;否则不返回。 

ajax接口封装方法

3、回调函数有两个参数:(req, data)  @req:  异步请求对象(XMLHttpRequest 或 ActiveXObject)  @data:  传入的附加数据。

ajax接口封装方法

4、function ajaxRequest(type, url, data, callback, loading, cache) {    var ajaxConfig = {        url: '',        data: {},        callback: null,        loading: true,        cache: true,        async: true    };    // 判断每一个参数url的类型    // 如果是对象则是请求参数对象    // 如果是字符串则是请求URL,参数和回调要继续检测后面的参数    if (typeof url === 'string') {        ajaxConfig.url = url;        ajaxConfig.data = data;        ajaxConfig.callback = callback;        ajaxConfig.loading = typeof(loading) === 'undefined' ? true : loading;        ajaxConfig.cache = cache;    } else {        ajaxConfig = $.extend({}, ajaxConfig, url);    }    $.ajax({        type: type,        url: ajaxConfig.url,        data: ajaxConfig.data,        beforeSend: function() {            if (ajaxConfig.loading) { $.showLoading(); }        },        dataType: 'json',        cache: ajaxConfig.cache,        async: ajaxConfig.async,        success: function(re) {            if (ajaxConfig.loading) { $.hideLoading() };            if (re.result == 1) {                if (re.msg != '') {                    $.toast(re.msg, function() {                        if (re.redirect) {                            window.location.href = re.redirect;                        } else {                            ajaxConfig.callback(re.data);                        }                    });                } else {                    ajaxConfig.callback(re.data);                }            } else {                $.toast(re.msg, 'forbidden');            }        },        error: function(re) {            ajaxConfig.loading && $.hideLoading();            $.toast("Error", "forbidden");            console.error(re.responseText);        }    })}function ajaxGet(url, data, callback, loading) {    ajaxRequest('get', url, data, callback, loading, true);}function ajaxPost(url, data, callback, loading) {    ajaxRequest('post', url, data, callback, loading, false);}

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢