【问题标题】:Error: uncaught exception: [Exception... "An invalid or illegal string was specified"错误:未捕获的异常:[异常...“指定了无效或非法的字符串”
【发布时间】:2010-09-29 10:26:33
【问题描述】:

我在 Firefox 错误控制台中遇到的这两个错误:

Error: Incorrect document format
Source file: 
Row 1, column 45
Source code:
<div xmlns="http://www.w3.org/1999/xhtml"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

Error: uncaught exception: [Exception... "An invalid or illegal string was specified"  code: "12" nsresult: "0x8053000c (NS_ERROR_DOM_SYNTAX_ERR)"  location: "http://127.0.0.1/WebLibThirdParty/JavaScript//jquery.js Line: 112"]

我的 jquery 代码很简单:

$(document).ready(function() {
        // when the #guest_details is clicked
    $('#guest_details').click(function() {

        var postedData = $('#guest-details-dialog-contents form').serialize();
        var uri = '/';
        $.ajax({
            type: 'POST',
            data: postedData,
            url: uri,
            success: function(data) {
                // this works
                            alert(data);
                            // this doesn't work
                alert($(data).html());
            }
        });

        return false;

    });
});

如您所见,有问题的行是:

alert($(data).html());

在 ajax 回调中。 PHP 脚本返回有效的 XHTML(作为 XML 服务),所以我对这个问题感到困惑。

编辑:

好的。问题是 AJAX 返回混乱的 XHTML。它将标签更改为 HTML:

<br /> becomes <br>
<input type="text" name="someInput" /> becomes <input type="text" name="someInput">
and so on

【问题讨论】:

  • 好的,问题是 AJAX 返回混乱的 XHTML。它用
    交换
    等等。我该如何解决?
  • 这实际上是有效的 HTML,自闭合标签有一个可选的结束斜线 &lt;br /&gt;&lt;br&gt; 都是有效的。
  • 会不会是success函数数据参数还没有渲染为DOM所以.html()方法没有意义?因为不知道服务器是怎么实现的,所以不知道HTTP响应的格式。从问题看来,它是一个 HTML 文档,它使数据成为 string,所以 alert(data) 在另一个不工作的地方工作是有道理的。
  • 问题在于 data 不是 dom 元素,所以不能像 dom 元素那样称呼它。

标签: javascript jquery


【解决方案1】:

我真的不认为混乱的 XHTML 是问题所在。来自 html() 方法的 jquery 文档 (http://api.jquery.com/html/):此方法不适用于 XML 文档。因此,如果您要返回 XML,那可能是您的问题。

【讨论】:

  • 你确定不是其他脚本干扰了这个吗?据我所知,它应该可以工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 2014-08-26
  • 1970-01-01
  • 2010-12-14
  • 2013-07-07
相关资源
最近更新 更多