1

我有一个初学者问题。如果我使用 javascript 进行 ajax 调用,然后在 ajax 请求得到响应之前成功重新加载页面,响应是否仍然有效?

4

2 回答 2

4

这取决于您所说的“工作”是什么意思。请求仍然会被发送到服务器,服务器会返回一个响应,但是任何你指定在收到响应时执行的回调函数都不会运行,因为分配的函数对象会丢失当页面重新加载时。

于 2013-03-06T16:00:11.990 回答
3

不。

通过重新加载页面,所有 JavaScript(及其解析器/引擎)都将被终止、重置并再次初始化。因此,任何挂起的 (Ajax) 调用都会中止。因此,现有的调用将不再起作用。

此外,所有活动(HTTP)连接都(应该)被重置,因此服务器可能仍会处理请求(如果它按时到达),但由于连接中止,响应会丢失。

重新加载后这些东西不起作用的事实是一件好事:因为它会导致意外的、容易出错的情况!

于 2013-03-06T15:59:24.847 回答