簡體   English   中英

服務器是否總是按照發送順序接收 AJAX 請求?

[英]Does the server always receive AJAX requests in the same order they are sent?

我有一個 web 頁面,它通過 AJAX 向服務器發送信息。 我需要確保服務器以正確的順序處理請求。 服務器是否可能以與發送順序不同的順序接收請求? web 頁面確保請求以正確的順序發送,但請求之間的時間可能非常短。 該頁面不會從服務器接收數據,因此響應不需要按順序排列。

由於每個 AJAX 請求都在其自己的連接中運行,因此無法保證異步請求將按照它們發送的相同順序到達。

如果您想確保它們以相同的發送順序到達,請使用同步請求。 另一種可能性是將請求打包在一起。

這取決於您的服務器和服務器負載。 Normaly 請求,如果它們不需要太多的處理器時間,則應以正確的順序處理它們。

可以肯定的是,您可以實現一個發送隊列。 第二個請求,等待第一個請求完成,依此類推。 這當然需要更多的實施工作。

來自瀏覽器的每個 AJAX 請求都可以通過不同的網絡路徑到達服務器。 因此,如果瀏覽器以 1、2、3、4、5 的順序發出異步請求,它們在進行臨時測試時可能會以該順序顯示,但在某些時候,它們可能會以 1、2、5、3 之類的順序到達,4 當網絡發生變化時。 如果服務器接收消息的順序很重要,您將需要創建一個消息隊列。

我認為不能保證您的請求會按照您發出請求的確切順序進行處理。 如果訂單很重要,您可能應該將請求捆綁為一個,或者等待每個請求返回,然后再發出下一個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM