我有一个网页,通过AJAX将信息发送到服务器。我需要确保服务器以正确的顺序处理请求。服务器是否可能以不同的顺序接收请求?该网页确保以正确的顺序发送请求,但请求之间的时间可能非常短。页面不会从服务器接收数据,因此响应不需要按顺序排列。
答案 0 :(得分:4)
由于每个AJAX请求都在自己的连接中运行,因此无法保证异步请求将以与发送时相同的顺序到达。
如果您想确保它们按照发送的顺序到达,请使用同步请求。 另一种可能性是将请求组合在一起。
答案 1 :(得分:2)
这取决于您的服务器和服务器负载。 Normaly请求,如果它们不需要太多的处理器时间,它们应该以正确的顺序处理。
绝对确定,您可以实现发送队列。第二个请求,等待第一个请求完成,依此类推。这当然需要更多的实施工作。
答案 2 :(得分:1)
我认为无法保证您的请求按照您发出的确切顺序处理。如果订单很重要,您可能应该将请求捆绑为一个或等待每个请求返回,然后再发出下一个。
答案 3 :(得分:1)
来自浏览器的每个AJAX请求都可以通过不同的网络路径到达服务器。因此,如果浏览器以1,2,3,4,5的顺序发出异步请求,它们可能会在进行临时测试时以该顺序显示,但在某些时候它们可能会按照1,2,5,3的顺序到达,4当网络上发生变化时。如果服务器收到的消息顺序很重要,则需要创建消息队列。