1

如果我调用该$.ajax()方法并将 XMLHttpRequest 存储到一个变量中vXMLHttpRequest,那么在调用之前检查先前 XMLHttpRequest 是否存在的正确方法是abort什么?

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();
}
4

2 回答 2

1

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

于 2010-12-21T16:48:53.417 回答
1

你的权利这是有效的

if(vXMLHttpRequest)
{
  vXMLHttpRequest.abort();
}
于 2010-12-21T16:49:25.360 回答