我正在向MVC控制器发送以下请求:
var datum = { param1: value, param2: value, param3: value };
$.ajax
({
type: "POST",
contentType: "application/json; charset=utf-8",
url: getAbsolutePath() + "Controller/MethodName",
dataType: "json",
data: JSON.stringify(datum),
success: function (response)
{
var result = response;
}
});
有时响应需要太多时间。我正在寻找杀死或取消此请求的方法。我怎样才能做到这一点?
答案 0 :(得分:3)
jquery .ajax返回规范化的XMLHttpRequest,只需使用其中止方法:
var xhr = $.ajax(params);
xhr.abort();
答案 1 :(得分:3)
我的建议,使用超时属性:
$.ajax
({
type: "POST",
contentType: "application/json; charset=utf-8",
url: getAbsolutePath() + "Controller/MethodName",
timeout: 100000, //cancels automatically after 100 seconds
dataType: "json",
data: JSON.stringify(datum),
success: function (response)
{
var result = response;
}
});
答案 2 :(得分:2)
您可以使用.abort()
取消请求:
var xhr = $.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: getAbsolutePath() + "Controller/MethodName",
dataType: "json",
data: JSON.stringify(datum),
success: function (response) {
var result = response;
}
});
xhr.abort();
答案 3 :(得分:1)
如果需要花费太多时间,您可以使用timeout
ajax
属性取消请求