【问题标题】:How do you test for the existence of an active XMLHttpRequest object before aborting a prior $.ajax() call?在中止先前的 $.ajax() 调用之前,如何测试活动 XMLHttpRequest 对象的存在?
【发布时间】:2010-12-21 16:46:20
【问题描述】:

如果我调用$.ajax() 方法并将XMLHttpRequest 存储到变量vXMLHttpRequest 中,那么在调用abort 之前检查是否存在先前的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();
}

【问题讨论】:

    标签: javascript jquery ajax xmlhttprequest abort


    【解决方案1】:

    你的权利这是有效的

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

    【讨论】:

      【解决方案2】:

      第一个可以,但是你也可以检查请求的readyState属性:如果是4,它已经完成了,所以不需要中止。

      【讨论】:

        猜你喜欢
        • 2015-02-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多