即使在获取响应后,页面仍会继续加载
Page keeps loading even after response is fetched
所以我试图通过jQuery.getJSON()
从我的节点.js服务器(使用express.js)获取一些数据。
以下是相关代码:
测试.html:
<script>
$.getJSON('/test', function(data, status, xhr){
document.write(data.message);
//console.log(data.message);
});
</script>
服务器.js:
app.get('/test', function(req, res){
res.json({ message: 'Hello World' });
});
现在,当只使用console.log()
时,事情可以正常工作,但是当发出document.write()
时,即使获取数据,请求也不会完成,即浏览器在获取数据后进入无限期加载状态。
发送到回调的状态文本显示"成功",所以我猜 ajax 端设置没有错误。
我正在使用jQuery 1.11.1和node.js 0.13.0。
可能是什么原因造成的?
document.write()
会自动调用document.open()
,这基本上会清除您当前的文档(来源:MDN),因此浏览器可能没有足够的时间关闭XHR连接,从而导致"无限期加载状态"。之后拨打document.close()
应该可以解决问题。
但首先请注意,在您的网页完成加载后,您永远不应该使用document.write
(我想是这种情况),这通常被认为是一种不好的做法。
相关文章:
- 如何使我的javascript在页面加载后继续执行
- php,如果我点击按钮程序重新加载页面,并且从不继续执行代码
- d3.js继续条件加载数据
- window.location.replace.继续重新加载页面,如何停止
- PhantomJS无法加载您的页面.使用--force继续
- 如何在加载页面后继续使用 php 进行更新
- Magento:需要一个跨浏览器的“继续购物”(后退两次)按钮来重新加载当前类别页面
- 继续加载.gif在操作 DOM 时进行动画处理
- jQuery 在缓存中预加载图像并在其他函数继续之前获取原始图像大小
- 谷歌浏览器继续加载我的网站
- 防止在 jquery ajax 直到加载时继续循环
- 即使在获取响应后,页面仍会继续加载
- Firefox “加载”轮在 iFrame 提交后继续旋转
- 忽略脚本错误并继续加载页面
- 浏览器在运行使用json的ajax函数后继续加载(加载指示器一直在旋转)
- JS继续加载,直到img src改变
- 当打开URL时,页面继续加载
- Google Drive Picker即使在关闭后也会继续加载缩略图
- jqueryajax进程成功,然后继续加载html代码
- Ajax页面加载器在Chrome中不工作,并在页面加载后继续加载