Javascript 重新加载AJAX请求的页面源代码

Javascript 重新加载AJAX请求的页面源代码,javascript,html,ajax,reload,Javascript,Html,Ajax,Reload,我发现如果在页面上使用AJAX调用,页面源代码将保持不变。这可能会导致问题,例如,如果用户在浏览器中使用向前/向后操作,当它返回到页面时,浏览器将具有/读取原始HTML代码,而不是具有AJAX内容的HTML代码。例如,假设您使用 <div id="foo"> <script type="text/javascript"> setTimeout('ajaxFunction', ...); </script> </div> setTimeout('

我发现如果在页面上使用AJAX调用,页面源代码将保持不变。这可能会导致问题,例如,如果用户在浏览器中使用向前/向后操作,当它返回到页面时,浏览器将具有/读取原始HTML代码,而不是具有AJAX内容的HTML代码。例如,假设您使用

<div id="foo">
<script type="text/javascript">
setTimeout('ajaxFunction', ...);
</script>
</div>

setTimeout('ajaxFunction',…);
加载页面后,它将调用ajaxFunction,最终将用id=“foo”替换div标记的内容(顺便说一句,它也可以是递归调用)。但您可以从浏览器查看的页面源仍将包含此代码段。有没有办法在不重新加载页面的情况下刷新页面源


我知道我可以在AJAX代码中添加页面重新加载,但我希望避免这种情况,并且不会干扰最终用户。

浏览器将以HTTP响应方式向您显示它从服务器接收到的内容。 DOM中的所有动态更改都不会反映在这里。
因此,您可以使用FF中的firebug或Chrome中的开发者工具来跟踪动态更改。

如果您使用右键单击的“查看源代码”选项,则某些浏览器(如果不是全部)正在执行另一个获取HTML的请求。开发者工具/Firebug将向您显示更新的HTML,但在下一次/前向导航之后,会显示初始HTML(没有使用JS/AJAX进行更改)。我原以为chrome也会缓存动态更改,但只是选中了这个,它显示了初始页面。假设没有办法改变这种行为。对于我来说,这里唯一的方法是在
文档中调用ajaxFunction.onload
如果你想确保最新的信息显示给用户。

如果你绝对需要获取加载的页面源代码,而不需要重新加载或重新提交,我建议使用这个Chrome扩展,它在大多数情况下都工作得很好


我喜欢这个答案。学习使用FF或Chrome开发者工具对于查看动态源代码是至关重要的。问题不是关于开发者工具,我很清楚这一点,而是关于不同的主题。