2012-11-14 59 views
2

以下是預期的簡單場景。如果在中間發生頁面更改,AJAX請求/響應的數據會發生什麼

  • 在我的頁面「page.aspx」 jQuery的Ajax的帖子在vb.net到getData.aspx指令
  • 在getData.aspx Page_Load方法讀取指令並繼續執行到數據庫,然後返回了很多數據作爲JSON爲字符串變量 「myJson」
  • 然後Context.Response.Write(myJason)

  • 則AJAX讀取在getData.aspx

所作的串

我的問題是,數據會發生什麼?

  1. 在數據庫抓取的中間 - 數據在哪裏去,vb函數完成?
  2. 而ajax正在讀取Context.Response.Write(myJason)?

數據不能消失在空氣中嗎?

如果沒有異常並且vb.net中的Context.Response.Write(「result」)完成,但是ajax沒有完成讀取響應,因爲人員刷新了頁面,所以會發生什麼?

總之,如果請求它的頁面重定向,響應會發生什麼。答案不能僅僅消失在空氣中?

謝謝

+0

如果我正確地理解你(我懷疑)...數據不能發送到任何地方,因爲請求的連接丟失。所以它會「消失在空氣中」 – devnull69

+0

「數據發生了什麼......」。目前尚不清楚你指的是什麼數據。 –

回答

5

恰好數據

在數據庫中的中間

取什麼 - 哪裏的數據走,vb的功能完成?

取決於vb函數中的內容。 SQL查詢肯定會完成。只要服務器嘗試向客戶端發送數據(如果響應被緩衝,在下一個Response.Write中不會總是發生) 您的所有數據都將可用於垃圾收集

while the ajax is reading the Context.Response.Write(myJason)?

只有JSON內容的一部分,將提供客戶

上着消失在稀薄的空氣中的數據?

服務器端,它將被垃圾收集。所以是的,它會消失在空氣中。

+0

謝謝你的回覆 - 當然它不能消失在空氣中 - 反應會在哪裏 - 它必須在哪裏?謝謝 –

+0

對於仍在服務器上的數據,它被解散並收集垃圾。客戶已收到的數據將取決於客戶端的行爲。數據「在線」(由服務器發送但尚未被客戶接收的數據的極小部分)將在客戶抵達時被解除。 – jbl

相關問題