我在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/

10-11 02:34
查看更多