javascript - 即使在获取响应后页面仍会继续加载

标签 javascript ajax node.js

所以我试图通过jQuery.getJSON()从我的node.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.writeit's generally considered to be a bad practise .

关于javascript - 即使在获取响应后页面仍会继续加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27117104/

相关文章:

node.js - 什么是简单的持久登录 session ?

javascript - 在 django formset 中动态添加行

javascript - 从谷歌分析获取json

javascript - 单击时如何将 td-tag 更改为 html 中的 input-tag?

javascript - 当我运行 ajaxRequest.open 时,警报 3 没有出现

javascript - 如何在magento中进行图像类型验证?

javascript - 复杂 JSON 解析问题(angularjs 和 javascript)

html - 链接应该有状态副作用吗?

node.js - ExpressJS 请求正文中 JSON 中的反斜杠 - 使用 body-parser

node.js - 升级node/npm后需要安装npm吗?