我在Chrome中呈现text / json时遇到问题。我使用YUI库发送ajax请求并处理响应。
在我从使用mod_php的Apache切换到以php-fpm作为fastcgi的Lighttpd之后,问题就出现了。 Ajax向服务器请求内容,服务器返回text / json类型的内容(标头中已声明的内容text / json)
在Chrome浏览器以外的所有浏览器中均可工作和渲染。那就是它的奇怪之处在于它可以在Firefox,Safari,IE和Chrome中运行。
我不知道这是怎么回事。我什至禁用了输出压缩,因为虽然这是引起问题的原因,但是问题仍然没有消失。
我希望有人已经解决了这个问题,并想出了解决方法。
最佳答案
这简直令人难以置信,但我可以追溯到:
在服务器端,我使用php在发送输出之前设置标头,如下所示:
header(“ Content-type:text / json; charset = UTF-8”);
它对所有浏览器都运行良好,但Chrome浏览器除外,后者需要Content-Type
注意大写字母“ T”
所以我将其更改为:
header(“ Content-Type:text / json; charset = UTF-8”);
一切也可以在Chrome中使用。
为什么它使用Apache / mod_php并停止使用Lighttpd / fastcgi?我猜
Apache在以某种方式修复了所有标头之后才真正将它们发送出去,而Lighttpd并不在乎。
令我惊讶的是,我什至能够找到答案。
我希望我能获得解决自己的问题的徽章,并希望它将对可能遇到相同问题的其他人有所帮助。
关于javascript - 切换到Lighttpd后,Ajax停止在Chrome中工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4087976/