我有一个使用get
JSON的跨域长轮询请求,回调看起来像这样:
$.getJSON("http://long-polling.com/some.fcgi?jsoncallback=?"
function(data){
if(data.items[0].rval == 1) {
// update data in page
}
});
问题是对长轮询服务的请求可能需要一段时间才能返回,同时可能会发出另一个getJSON请求并更新页面,即使它是陈旧的响应.
Req1:
h**p://long-polling.com/some.fcgi at
10:00 AMReq2:
h**p://long-polling.com/some.fcgi? at
10:01 AMReq1 returns and updates the data on
the page 10:02 AM
如果已经有Req2,我想要一种方法来使Req1的返回无效.
谢谢!
解决方法
我认为这不起作用,因为getJSON使用JSONP方法,它实际上通过动态插入浏览器执行的脚本标记来工作.我认为没有办法阻止浏览器执行脚本……是吗?