Как проверить наличие активного объекта XMLHttpRequest перед прерыванием предыдущего вызова $ .ajax ()? - PullRequest
1 голос
/ 21 декабря 2010

Если я вызову метод $.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();
}

Ответы [ 2 ]

1 голос
/ 21 декабря 2010

ваше право это действительно

if(vXMLHttpRequest)
{
  vXMLHttpRequest.abort();
}
1 голос
/ 21 декабря 2010

Первый будет работать, однако вы также можете проверить свойство readyState запроса: если оно равно 4, оно уже выполнено, поэтому нет необходимости прерывать его.

...