我目前正在使用这个ajax排队插件http://www.onemoretake.com/2009/10/11/ajaxqueue-and-jquery-1-3/并且它工作正常,除非我们调用ajax,ajax调用2启动,这取决于ajax 1完成时成功函数生成的值。 / p>
当前一个调用完成并且运行了成功函数时,有没有办法启动所有ajax调用?
感谢
我对它有点工作.. clientid触发ajax并返回一个JSON结构...填充构建下拉列表,构建触发器调用另一个ajax但是在第一次ajax调用之后但在成功函数完成之前触发..使用延迟是不可靠的..任何想法?
var body = $('body');
body.queue('bodyQueue', function(){ $('#Client_ID').trigger('change'); $(this).dequeue('bodyQueue');}).delay(1000, 'bodyQueue');
body.queue('bodyQueue', function(){ $('#Building_ID').trigger('change'); $(this).dequeue('bodyQueue');});
body.dequeue('bodyQueue');
更好的是,如果我可以停止并启动ajax队列,那会更好,这可能吗?
答案 0 :(得分:0)
jQuery的AJAX库支持完成处理程序(success
)。将第二个AJAX调用放在第一个调用的success
方法中,依此类推。
答案 1 :(得分:0)
感谢队友..
它围绕代码生成器构建
像这样解决它..
然后在ajax和函数执行它所做的之后它调用触发器传递ID,触发下一行.. bit dodgy ..但是工作
triggerQ = [];
triggerQ.push("Client_ID");
triggerQ.push("Building_ID");
triggerNext();});
function triggerNext(id){
var trigger;
if (id) {
for(i=0;i<triggerQ.length;i++) {
if (triggerQ[i] == id) {
if (triggerQ[i+1]) {
trigger =triggerQ[i+1];
}
}
}
} else {
trigger = triggerQ[0];
}
if (trigger) $('#'+trigger).trigger('change');
}