小编典典

如何使用原型js库中止/取消请求?

ajax

使用此代码:

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方法中识别请求(使用名称/向导/任何名称),以便我可以确定哪个请求已完成?

我正在考虑做一个array.push(pendingRequest)来跟踪挂起的请求

我想允许用户中断他们的请求,更改输入值并重新提交。

有时,原始请求会在新请求之后结束,而我会用“旧”数据替换“正确”数据。(例如,搜索结果在第一个查询中返回50,000条记录,在第二个查询中返回5条记录)

谢谢,


阅读 291

收藏
2020-07-26

共1个答案

小编典典

您可以使用XHR的abort

XHR对象存储在前处理的Request.transport中,因此使用

pendingRequest.transport.abort()

会取消请求。

2020-07-26