大多数jQuery Ajax方法都返回XMLHttpRequest(或等效的)对象,因此您可以使用abort()
。
请参阅文档:
abort()(MDN)。如果请求已经发送,则此方法将中止请求。
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文档)。
从jQuery 3开始,ajax方法现在返回带有其他方法的promise(例如abort),因此上面的代码仍然有效,尽管返回的对象不再可用xhr
。
:xhr.abort()
仍然适用于jQuery3.x。不要以为 更新2 是正确的。