解析错误无效的 XML:601

Posted

技术标签:

【中文标题】解析错误无效的 XML:601【英文标题】:parseerror invalid XML: 601 【发布时间】:2011-07-18 06:34:39 【问题描述】:

我有这个代码:

    var ajaxLoader = $('.ajaxLoader', lpWindow);
$.ajaxSetup(
    url: 'http://www.server.foo/setMessage.php',
    type: 'POST',
    data: 
        text: message,
        username: username
    ,

    beforeSend: function()
        ajaxLoader.fadeIn( 'fast' );
    ,
    complete: function()
        ajaxLoader.fadeOut( 'fast' );
    ,
    success: function()
        ajaxLoader.fadeOut( 'fast' );
    ,
    error: function(xhr, ajaxOptions, thrownError)
        $('.content', lpWindow).empty().append('Something went wrong...');
        console.log(xhr.status);
        console.log(xhr.statusText);
        console.log(thrownError);

    
);

$.ajax(
    success: function()
        getMessages(lpWindow)
    
);

它在谷歌浏览器中运行完美,但在 Firefox 中失败。我在萤火虫中收到此错误消息。

200 解析器错误 无效的 XML:601

出了什么问题,我该如何解决?

【问题讨论】:

您也可以发布一个示例响应吗? setMessage.php 中的内容是什么类型的?您是否尝试过设置内容类型? 【参考方案1】:

看起来请求成功,但响应中的 XML 无效。确保您发送回有效的 XML。

编辑

如果您实际上并没有发回 XML,请确保至少设置以下数据类型之一(以下示例适用于 JSON):

服务器上的Content-Type 标头(header('Content-type: application/json'); 用于 PHP) Ajax 请求的dataType 参数 (dataType:'json')

【讨论】:

我不允许编辑 .php 文件。所以我无法更改 .php 中的任何内容。 @Tord 够公平的。但是您还没有回答基本问题 - PHP 返回的数据是什么?是 XML 吗?您可以发布示例响应以帮助调试吗? 我没有更改 php 文件的权限。我尝试将 dataType: 'xml', 放在 ajax 请求中,但没有解决问题。 @Tord 好的,你能发个样本吗?您能否检查您的 XML 是否有效?通过 XML 验证器运行它,看看它是否通过。 j7.se/9cqwp - 点击绿色图标聊天图标。我查看了 setMessage.php 的手册,上面写着: 地址:adress.com/setMessage.php 方法:POST 参数:文本:使用此参数在消息文本中发送。用户名:通过这个参数传入用户名。返回:如果消息存储正确,它将包含响应消息的唯一 ID。

以上是关于解析错误无效的 XML:601的主要内容,如果未能解决你的问题,请参考以下文章

将 clob 转换为 xml 解析错误

如何使用 PHP 跳过 XML 文件中的无效字符

无效格式xml的最佳PHP解析器[重复]

Perl:如何解析无效的 XML 文档? [复制]

XMLStreamException : 解析错误

试图理解XML解析错误(由MS Word引起)