gpt4 book ai didi

node.js - Chrome 没有呈现分块的 json 响应

转载 作者:可可西里 更新时间:2023-11-01 17:10:06 26 4
gpt4 key购买 nike

我想制作一个不断发送 json 对象的流端点。我已经尝试使用分块传输编码,并且能够成功地使所有浏览器(chrome、firefox、safari)呈现从服务器发送的数据,如果它是 text/html 或 text/plain。但是当我使用 application/json 作为内容类型时,它在 chrome 上不起作用。这是代码:

var http = require('http');

http.createServer(function(request, response){
response.setHeader('Connection', 'Transfer-Encoding');
response.setHeader('Transfer-Encoding', 'chunked');
response.setHeader('Cache-Control', 'no-cache');
// response.setHeader('Content-Type', 'application/json');
response.setHeader('Content-Type', 'text/html');


setInterval(function(){
response.write('test </br>');
// response.write('{"test": "test"}');
}, 10);

}).listen(8000);

以上代码按预期工作,但无法使其与 application/json 类型一起工作。我错过了什么吗?

最佳答案

这是浏览器中的错误。并且它已在最新的 chrome 中修复(至少在 canary 中)。

Chrome Bug - Transfer-Encoding chunked not support on text/plain

Safari(我在 Mac OSX 上测试过)是唯一不使用分块编码呈现非 html 内容的浏览器。

关于node.js - Chrome 没有呈现分块的 json 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23041702/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com