在中止先前的 $.ajax() 调用之前,如何测试活动 XMLHttpRequest 对象是否存在?

发布于 2024-10-09 02:06:32 字数 594 浏览 2 评论 0原文

如果我调用 $.ajax() 方法并将 XMLHttpRequest 存储到变量 vXMLHttpRequest 中,那么在调用之前检查先前 XMLHttpRequest 是否存在的正确方法是什么中止就可以了吗?

var vXMLHttpRequest = $.ajax({
    type: "POST",
    url: "some.php",
    data: "name=John&location=Boston",
    success: function(msg){
       alert( "Data Saved: " + msg );
    }
});

我假设只有在存在活动的先前 XMLHttpRequest 时才是终止请求的方法

if(vXMLHttpRequest)
{
  vXMLHttpRequest.abort();
}

这是正确的还是有更好的语法?例如:

if(vXMLHttpRequest!=null)
{
  vXMLHttpRequest.abort();
}

If I call the $.ajax() method and store the XMLHttpRequest into a variable, vXMLHttpRequest, what is the correct way to check for the existence of a prior XMLHttpRequest before calling abort on it?

var vXMLHttpRequest = $.ajax({
    type: "POST",
    url: "some.php",
    data: "name=John&location=Boston",
    success: function(msg){
       alert( "Data Saved: " + msg );
    }
});

I'm assuming this is the way to kill the request only if there is an active prior XMLHttpRequest:

if(vXMLHttpRequest)
{
  vXMLHttpRequest.abort();
}

Is that right or is there a better syntax? For example:

if(vXMLHttpRequest!=null)
{
  vXMLHttpRequest.abort();
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

离线来电— 2024-10-16 02:06:32

你的权利这是有效的

if(vXMLHttpRequest)
{
  vXMLHttpRequest.abort();
}

your right this is valid

if(vXMLHttpRequest)
{
  vXMLHttpRequest.abort();
}
甜中书 2024-10-16 02:06:32

第一个可以工作,但是您还可以检查请求的readyState属性:如果它是4,则它已经完成,因此不需要中止。

The first will work, however you can also check the readyState property of the request: if it is 4, it has already completed, so no need to abort.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文