我正在使用prototype.js并拥有如下代码。
new Ajax.Request('url', {
asynchronous: true,
method: "get",
onSuccess: Succeeded,
onFailure: Error
});
如果第一个请求'完成并且下一个相同的请求已发出,则会出现问题。
除非调用'Succeeded',否则如何防止发出相同网址的请求?
当然,我可以通过更改'asynchronous:false'来解决问题,但是可能异步方法仍适用于这种情况吗?
谢谢,
答案 0 :(得分:0)
我总是使用异步请求,因为同步请求很少是你想要的。
我很好奇为什么同一个请求可以多次完成。通常我只是在错误回调中重复请求并在成功回调中发出成功信号。我使用中止超时,所以我不会永远等待(默认HTTP超时通常是2分钟)。
如果请求是用户启动的,因此可能不止一次发生,您必须手动执行此检查(在某处设置“inProgress”布尔值)。