我有一个使用getJSON的跨域长轮询请求,回调看起来像这样:
$.getJSON("http://long-polling.com/some.fcgi?jsoncallback=?"
function(data){
if(data.items[0].rval == 1) {
// update data in page
}
});
Run Code Online (Sandbox Code Playgroud)
问题是对长轮询服务的请求可能需要一段时间才能返回,同时可能会发出另一个getJSON请求并更新页面,即使它是陈旧的响应.
Req1:h**p://long-polling.com/some.fcgi上午10:00
Req2:h**p://long-polling.com/some.fcgi?上午10:01
Req1返回并更新页面上午10:02的数据
如果已经有Req2,我想要一种方法来使Req1的返回无效.
谢谢!
当您发出ajax请求时,它返回XMLHttpRequest对象.如果您想要abort
通话,可以.abort()
在上面调用方法.
var request = $.getJSON(. . . . . );
request.abort();
Run Code Online (Sandbox Code Playgroud)