gpt4 book ai didi

javascript - Jquery ajax onSuccess 事件

转载 作者:行者123 更新时间:2023-11-30 18:57:56 26 4
gpt4 key购买 nike

我正在使用 JQuery 执行 AJAX,但每次“onSuccess”事件都必须在另一个 AJAX 请求断开连接后执行。

代码如下:

    d.ajax({
url: f.options.url.offline,
dataType: "jsonp",
jsonp: "callback",
cache: false,
data: {
status: "offline",
ticket: f.connection.options.ticket
},
success: function(g) {
f._offlineSuccess()
},
error: function() {
f._offlineError()
}
})

我所有的AJAX请求都是JSONP,当上面的代码被触发时,同时已经建立了另一个AJAX连接(长轮询请求,持续约10秒)。因此,“f._offlineSuccess”函数总是在另一个 AJAX 连接断开后执行。

我看不出这两个 AJAX 请求之间有任何关系,我不知道为什么必须在另一个 AJAX 连接停止后执行“onSuccess”函数。

感谢任何帮助~

================================

更新:

我刚刚发现如果我同时有两个JSONP连接,“onSuccess/onFailure”函数会被阻塞。不知道有没有人遇到过同样的问题?

最佳答案

Ajax 请求是异步的。所以一个新的请求不会让前一个请求完成。如果您希望该行为使用 async 参数为 false,或使用 complete() 函数调用另一个请求。这只会在第一个请求完成时触发。

更新对于 JsonP 使用 jQuery.getJSON()如果调用成功,则执行回调的第二个请求。

function (data, textStatus) {
// data will be a jsonObj
// textStatus will be one of the following values:
// "timeout","error","notmodified","success","parsererror"
this; // the options for this ajax request
}

关于javascript - Jquery ajax onSuccess 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1248451/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com