如果中间发生页面更改,AJAX 请求/响应的数据会发生啥情况
Posted
技术标签:
【中文标题】如果中间发生页面更改,AJAX 请求/响应的数据会发生啥情况【英文标题】:what happens to the data with a AJAX request/response if a page change happens in the middle如果中间发生页面更改,AJAX 请求/响应的数据会发生什么情况 【发布时间】:2012-11-02 22:35:42 【问题描述】:这是预期的简单场景。
在我的页面“page.aspx”上,jquery Ajax 在 vb.net 中发布了一条到 getData.aspx 的指令 getData.aspx 中的 Page_Load 方法读取指令并进入数据库,然后将大量数据作为 JSON 返回到字符串变量“myJson”然后是 Context.Response.Write(myJason)
然后 ajax 读取在 getData.aspx 中生成的字符串
我的问题是,数据会发生什么变化?
-
在数据库提取的中间——数据去哪了,vb函数完成了吗?
当 ajax 正在读取 Context.Response.Write(myJason) 时?
数据不能凭空消失吗?
如果没有异常并且 Context.Response.Write("result") 在 vb.net 中完成,但 ajax 没有完成读取响应,因为该人刷新了页面,所以它没有被使用,它会发生什么?
总之,如果请求它的页面重定向,响应会发生什么。响应不能凭空消失?
谢谢
【问题讨论】:
如果我理解正确(我对此表示怀疑)......由于请求的连接丢失,数据无法发送到任何地方。所以它会“消失得无影无踪” “数据会发生什么……”。不清楚你指的是什么数据。 【参考方案1】:数据会发生什么
在数据库取数据的过程中——数据去哪了,vb函数完成了吗?
取决于 vb 函数中的内容。 SQL 查询肯定会完成。一旦服务器尝试向客户端发送数据(这并不总是在下一个 Response.Write 期间,如果 Response 被缓冲),该过程将失败(将引发异常) 您的所有数据都可用于垃圾收集
当 ajax 正在读取 Context.Response.Write(myJason) 时?
只有部分 JSON 内容将在客户端上可用
数据不能凭空消失吗?
服务器端,它将被垃圾收集。所以是的,它会化为乌有。
【讨论】:
谢谢你的回复——它肯定不能凭空消失——回复会去哪里——它必须在某个地方?谢谢 对于仍在服务器上的数据,将其关闭并收集垃圾。客户端已经收到的数据将取决于客户端的行为。 “在线”数据(服务器发送但客户端尚未收到的一小部分数据)将在到达时被客户端关闭。以上是关于如果中间发生页面更改,AJAX 请求/响应的数据会发生啥情况的主要内容,如果未能解决你的问题,请参考以下文章