为了账号安全,请及时绑定邮箱和手机立即绑定

请问jquery如果多个ajax请求调用方法 怎样封装?

请问jquery如果多个ajax请求调用方法 怎样封装?

不负相思意 2019-06-18 15:11:56
jquery如果多个ajax请求调用方法 怎样封装
查看完整描述

3 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

多个$.ajax()方法
如何做到传递参数对象赋值给ajax 的url ,datatype,等属性
类似这种写法

function sendRequest(options) {
    $.ajax({
        url: options.url,
        type:options.type,
        dataType:options.dataType,
        data:url.data,
        error: options.error,
        success:options.getresult
    });
}
function requset1() {
    var options = {
        url: "",
        data: "",
        dataType: "",
        getresult: function(data) { }
    };
    sendRequest(options);
}



查看完整回答
反对 回复 2019-06-29
?
炎炎设计

TA贡献1808条经验 获得超4个赞

ajax请求默认就是并行,如果你一个方法中需要处理多个ajax请求,并且需要执行完一个再执行下一个,可以通过ajax的回调函数中再调另一个请求。 你说的2个两个请求恰好在同一时刻发送会不会有事,那就要看你请求是做了什么事情,比如同时对数据库

查看完整回答
反对 回复 2019-06-29
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

首先你的这个实现逻辑就有问题,怎么可能会想到用for 去做n次ajax提交呢,你得知道你现在上面写的这种ajax提交方式为异步方式,何为异步,就是当ajax请求发出后当前逻辑就认为你的这次请求完成了,当前逻辑会继续往下执行而不会去管你的这个ajax请求是否执行完并成功返回的,如你for了10次,那么for只会管执行10个ajax提交,因为ajax是异步方式,所以你在for里面无法控制你的这10次ajax是否都正常的执行并返回的,这10次ajax提交的返回是无序的。所以一般都不会用这样的逻辑来处理问题,如果实在非得要用这种逻辑,那么得将ajax请求方式改成同步方式,即将async:false 改成 async:true,这样就可能如你的预期,一个ajax执行完正常返回后才行下一个ajax,

==================================================================
哦,那是我记错咯,如果你实在要用这种实现逻辑的话,我倒建议你不要这么写,类似下面这种写法应该好处理些的:
for (var i=0; i<9; i++)
{
var post_data = new Array('rand':new Date().getMilliseconds())
var post_retn = eval('('+ $.ajax({type:'post', data:post_data, url:'xxxxx&rand=' + new Date().getMilliseconds(), async:false}).responseText +')');
alert(post_retn);
}

查看完整回答
反对 回复 2019-06-29
  • 3 回答
  • 0 关注
  • 1023 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信