我在屏幕左侧有几个菜单项,每个菜单项在网站上打开一个新页面。在其中一个页面上有一个异步的ajax调用python,它成功地返回了一堆数据。
但是,当我打开此页面并快速单击另一个菜单项打开另一个页面而不等待ajax请求完成时,我收到[Object object]错误。
postData = {"userid":userid, "current":dict_current, "step":dict_step};
$.ajax({
url: "/cgi-bin/get_dictionary.py",
type: "post",
datatype:"json",
async : true,
data: {postData},
success: function(response){
//parse json
var json = $.parseJSON(response);
}
})
.fail(function(err) {
alert("error" + err); //[Object object]
});
所以我想,当我打开一个新页面时,我应该以某种方式中止请求,但是如何访问该请求呢?
这里最好的事情是什么?
答案 0 :(得分:1)
为您的ajax请求添加变量名称。 首先定义变量。
var ajaxreq;
然后将该变量用于您的ajax请求:
ajaxreq = $.ajax(...);
并中止ajax页面卸载:
$( window ).unload(function() {
ajaxreq.abort();
});