gpt4 book ai didi

javascript - 我怎样才能停止ajax请求(不要等到响应到来)?

转载 作者:搜寻专家 更新时间:2023-11-01 05:06:57 25 4
gpt4 key购买 nike

如果我使用 Ajax 发送请求并且这个请求需要很长时间.....如果我想发送另一个请求我应该怎么做?

当前行为第二个请求(我做了)等待第一个请求得到响应。

注意:我想在整个应用程序上执行此行为(任何新请求立即执行,而不是等待旧请求先完成)我的应用程序使用 (Ajax + PHP + jQuery + Symfony)

假设是第一个请求需要很长时间:

$.ajax
({
type: "GET",
url: url1,
success: function (html)
{
// do some thing
}
});

在任何时候我希望这个请求执行并终止第一个请求。

$.ajax
({
type: "POST",
url: url,
success: function (html)
{
// do some thing else
}
});

var xhrReq;
xhrReq = $.ajax(...);

// then if you want to stop the rqest and exit use :

xhrReq.abort();

最佳答案

这是一个手动过程,但您可以添加一个全局 xhr 对象并在每次请求时对其进行测试。如果就绪状态为“正在加载”,则中止它:

var xhr;
var loadUrl = function(url) {
if ( xhr && xhr.readyState > 0 && xhr.readyState < 4 ) {
// there is a request in the pipe, abort
xhr.abort();
}
xhr = $.get(url, function() {
console.log('success', this);
});
};

loadUrl('/ajax/');

关于javascript - 我怎样才能停止ajax请求(不要等到响应到来)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8988861/

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