如图 客户端页面 需要这两个接口的数据
我这块分别 获取到这两个数据之后
nodejs:
接口一完成
res.write(data1);
接口二完成
res.write(data2)
结束;
但是客户端看到的页面 还是等到了 最后这个接口完成的时候 数据才渲染出来。
请教下 问题出在那里?
其实 接收到数据后 就 执行了js的一个方法, 类似 innerHTML
如图 客户端页面 需要这两个接口的数据
我这块分别 获取到这两个数据之后
nodejs:
接口一完成
res.write(data1);
接口二完成
res.write(data2)
结束;
但是客户端看到的页面 还是等到了 最后这个接口完成的时候 数据才渲染出来。
请教下 问题出在那里?
其实 接收到数据后 就 执行了js的一个方法, 类似 innerHTML
你写回客户端端的是html
么?
如果是,那在调用第一个res.write(data1)
之前,加上res.writeHead(200, {'Content-Type': 'text/plain'});
试试?
3 回答1.3k 阅读✓ 已解决
3 回答983 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
1 回答1.5k 阅读✓ 已解决
2 回答1.5k 阅读
1 回答888 阅读✓ 已解决
2 回答1.1k 阅读
res.write数据后,需要调用res.end方法。服务端才能认为数据已经写入完毕,客户端才会收到写入完毕的信号,数据才能读取出来。前面七七八八相当然的回答了一下,sorry
借用搜到的例子,运行了一下代码
注意
[KEYCODE]
处的代码,要保证要显示的主页面要大些,大于1K?不确定,反正要大些似乎是浏览器的缓存的问题,
当发现响应头有Transfer-Encoding:chunked,没有Content-Length头时(2者不能并存),发现收到的内容小于某个设定的值时,继续等待后续的内容,而不马上解析处理。
firefox,safari采用上面的方式处理~~
Chrome却很积极的,收到内容马上处理~~~