使用这段代码:
var pendingRequest = new Ajax.Request(myUrl, {
method: 'post',
postBody: soapMsg,
contentType: "text/xml",
onSuccess: function(transport) {
doSomething(transport);
},
onFailure: function(t) {
OnAjaxFailure(t);
},
onException: function(req,exception) {
OnAjaxException(req, exception);
}
});
我如何取消请求并丢弃数据,或者如果失败,我如何在我的 onSuccess 方法中识别请求(使用名称/guid/其他)以便我可以知道哪个请求正在完成?
我正在考虑做一个 array.push(pendingRequest) 来跟踪未决请求
我想允许用户中断他们的请求,更改输入值并重新提交。
有时原始请求在新请求之后结束,我正在用“旧”数据替换“正确”数据。 (例如,搜索结果在第一次查询时返回 50,000 条记录,在第二次查询中返回 5 条记录)
谢谢,
最佳答案
您可以使用 XHR 的 abort .
XHR 对象存储在 pendingRequest.transport 中,因此使用
pendingRequest.transport.abort()
将取消请求。
关于javascript - 如何使用原型(prototype) js 库中止/取消请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3161700/