gpt4 book ai didi

javascript - 为什么我的 AJAX 请求会根据文件扩展名给出错误?

转载 作者:行者123 更新时间:2023-11-28 02:38:48 25 4
gpt4 key购买 nike

我有一些使用 jQuery 的 JavaScript,可以快速加载数据 $.get(url, function(response){/* ... */}); 数据是直接的up 文本文件,然后由该响应函数中的 JavaScript 处理。

这对我来说非常有效,但我刚刚在我的机器上遇到了这个问题:使用相同的代码,我现在收到一条错误消息:

XML Parsing Error: not well-formed Location: moz-nullprincipal:{74091275-3d54-4959-9613-5005459421ce} Line Number 1, Column 16: image:tiles.png; ---------------^

如果我从另一台服务器加载它,它会完美地工作。只有当我将它托管在我自己的 PC 上时,我才会收到此错误(请注意,它以前在我自己的 PC 上也运行得很好,它运行 Ubuntu 并使用 Apache 提供页面)。经过一番努力后,我发现如果我更改正在加载的文件名的扩展名,它就可以正常工作。该文件以前名为“test.sprite”,那就是我收到错误的时候。如果我将其重命名为“test.txt”,它可以正常加载。

此错误〜似乎〜与我的系统最近的升级有关。我将 Ubuntu 10.something 升级到 12.04。我假设 Apache 配置中有某种我没有注意到的更新,这导致它根据文件的扩展名发送不同的 header (此处命名的两个是相同的 - .txt 实际上只是一个.sprite 的符号链接(symbolic link))。

所以我有一个解决方案来解决我眼前的问题,但我不想屈服于系统的特性。知道如何在不重命名文件的情况下解决这个问题吗?

最佳答案

请注意,我不是 apache 专家,但我会尽力为您指明正确的方向。

如果未定义,jQuery AJAX 函数将假定内容类型是 Apache 发回的任何 header 。您可以通过在 Chrome 中运行代码、打开开发人员工具 (Ctrl + Shift + J) 并选择“网络”来非常简单地查看响应是什么。单击相关请求后,您将看到返回的 header ,包括内容类型。

在您的 Apache 配置中, Sprite 的内容类型可能未定义。您可以使用以下行添加它:

AddType 'text/plain; charset=UTF-8' .sprite

这应该位于由 Apache 解析的配置文件中 - 根据您的版本,这可能是 apache.conf、httpd.conf 或其他文件。

我希望这对您有所帮助,或者至少为您指明了正确的方向。请记住在重新启动 Apache 之前进行 configtest!

关于javascript - 为什么我的 AJAX 请求会根据文件扩展名给出错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13004573/

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