jQuery封装异步ajax

6 篇文章 0 订阅

一、通过回调方式:

function ajaxAsync(datas, callback) {
    var param = JSON.stringify(datas);
    $.ajax({
        type: "POST",
        url: "www.********/rest",
        dataType: "json",
        data: {
            data: param
        },
        beforeSend: function (request) {
            loading = layer.load(1, { shade: [0.3, "#fff"] })
        },
        success: function (re) {
            callback(re);
        },
        error: function (re) {
            layer.msg('网络错误,稍后重试')
        },
        complete: function (re) {
            layer.close(loading);
        }
    });
}

使用时:

 ajaxAsync(datas, function (res) {
        if (re.code == 1) {
            console.log(res)
        } else {
            layer.msg(re.msg);
        }
    })

 

二、通过 $.Deferred (其实就是promise)

function reqAjax(param){
    var deferred = $.Deferred();
    $.ajax({
        type:"post",
        dataType: 'json',
        url:"www.*****/rest",
        data: {
            data: JSON.stringify(param),
        },
        success: function(data){
            deferred.resolve(data)
        },
        error: function(){
            deferred.reject()
        }
    });
    return deferred;
}

使用时:

var defer = $.Deferred();
var def = reqAjax(param);
def.then(function(res){
    defer.resolve(res);
});
def.fail(function(err){
    defer.reject();
    layer.msg("系统繁忙,请稍后再试!");
});

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值