问题

使用jQuery,我如何取消/中止Ajax请求,我还没有收到来自

的响应?</



解决方法

大多数jQuery Ajax方法返回一个XMLHttpRequest(或等效的)对象,所以你可以使用 abort().

请参阅文档:

  • abort Method (MSDN). Cancels the current HTTP request.
  • abort() (MDN). If the request has been sent already, this method will abort the request.
var xhr = $.ajax({
    type: "POST",
    url: "some.php",
    data: "name=John&location=Boston",
    success: function(msg){
       alert( "Data Saved: " + msg );
    }
});

//kill the request
xhr.abort()

更新: 从jQuery 1.5开始,返回的对象是一个称为jqXHR的本地XMLHttpRequest对象的包装器.此对象似乎暴露所有本机属性和方法,因此上述示例仍然可用.请参阅 jqXHR对象 (jQuery API文档).< / p>




相关问题推荐