php - XML AJAX 响应开头有奇怪的字符?

标签 php jquery xml ajax json

我正在进行多个返回 XML 数据的 AJAX 调用。当我取回数据时,我的成功函数(在 JQuery 中)尝试将 XML 转换为 JSON(使用插件)。我很快就被提醒为什么我不能假设我会从 AJAX 请求中获取有效的 XML —— 因为事实证明一些 XML 响应是无效的 —— 导致 JSON 转换失败、脚本失败等。 ..

我的问题是:

  1. 检查的最佳方法是什么 AJAX 响应上的 XML 有效吗?或者, 我应该尝试 JSON 转换,然后快速检查是否 JSON 对象有效吗?
  2. 在对 XML 进行故障排除时,我发现 XML 响应的开头有一些奇怪的字符。这是我的 Firebug 中的图像:

Bad XML Response

我应该尝试检测并删除这些字符的响应,还是我的编码可能有问题?

感谢任何帮助!如果需要更多信息,请告诉我!

最佳答案

这是 UTF-8 byte-order mark当错误地解释为 ISO-8859-1 时。

无法安全地删除它,因为它只是更大问题的症状。您的内容被编码为 UTF-8。在此过程中,您将其解码为 ISO-8859-1。如果您尝试通过剥离 BOM 来隐藏问题,那么一旦开始使用非 ASCII 字符,您只会遇到更多问题。事情看起来有点正确的唯一原因是 ASCII 是 UTF-8 和 ISO-8859-1 的公共(public)子集。

关于php - XML AJAX 响应开头有奇怪的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4819973/

相关文章:

javascript - 如果 xml 中的问题超过 204,则随机不起作用

javascript - 如何在鼠标悬停期间反转黑色以使其可见?

jquery - 将鼠标悬停在图像上时的音频

java - 如何更正 JAXB 生成器的 XSD?

php - 我必须对多维关联数组进行排序,但是我的方法不起作用

javascript - 获取jquery中div的特定输入(子)元素的id或类名

Python lxml.etree - 从字符串解析 XML 还是直接从链接解析 XML 更有效?

php - 从 var_export 中剥离数字数组键

Ubuntu上的PHP扩展目录

php - 从 Wordpress 中删除 WooCommerce 产品图片