如何确保按特定顺序调用的AJAX请求以相同的顺序获得响应?

air*_*bai 5 javascript ajax

如何确保按特定顺序调用的AJAX请求以相同的顺序获得响应?

hvg*_*des 4

首先,请记住,服务器本身可能不会按接收请求的顺序返回响应.想象一下,如果你首先触发一个复杂的ajax请求,然后是一个简单的秒(可能引用一些缓存的静态数据).第二个请求可能会在复杂的请求返回之前返回.你可以看到这使事情变得复杂; 如果收到请求的顺序与响应返回的顺序不同,那么如何做出保证呢?

你有一些选择:

1)您可以使请求同步而不是异步.但是,这将锁定浏览器.

2)更好的方法是将请求链接起来,使得下一个请求仅在第一个请求完成后才触发,只需在第一次返回后触发第二个请求.

需要注意的是,如果您发现需要链接2个ajax操作,则创建服务器端点以在一个请求中处理2个操作可能是有意义的.即,只需要一个ajax请求来做你需要的一切.