【问题标题】:Using jquery.ajax() to search db and getting "Uncaught Error: NOT_FOUND_ERR: DOM Exception 8"使用 jquery.ajax() 搜索 db 并得到“未捕获的错误:NOT_FOUND_ERR:DOM Exception 8”
【发布时间】:2012-09-25 22:49:12
【问题描述】:

我正在使用 jquery.ajax() 搜索 db 表并将数据返回到我页面上的 div。

单击搜索链接时,脚本无法将 usrObj 返回到 div,并抛出 msg 未捕获错误:NOT_FOUND_ERR:DOM 异常 8

有人告诉我这可能是由语法错误引起的?但我没有看到问题...

这是我的代码:

$(function() {
//hide default articles
$("ul a").click(function(event){
     $(".short_article").addClass("hidden");
}); 

  $('#search-box').submit(function() {
    $.ajax({
        type: 'POST',
        url:  'faq/search.php?',
        data: 'Term=body',
        success: function(jqXHR){
            var usrObj = $.parseJSON(jqXHR);
            $('#load_window').html (usrObj);
            alert ("Search failed"); //no alert displays

        }
    });
    return false;
});

});

<div id="load_window"></div>

【问题讨论】:

  • 所以如果你注释掉这行:$('#load_window').html (usrObj); 它仍然会抛出错误吗?变量usrObj 中有什么?
  • 如果我把它注释掉,错误就会被消除。 usrObj 保存着从数据库返回的数据(我想。这是我正在帮助的一个项目,所以其中一些不是我的代码)。我仍在尝试将其格式化为可用状态。可能类似于 $('#load_window').text(usrObj.result);我是堆栈的新手,仍然习惯于将代码插入 cmets..

标签: javascript jquery ajax json dom


【解决方案1】:

去掉“html”后面的空格:

$('#load_window').html (usrObj);

...应该是

$('#load_window').html(usrObj);

【讨论】:

  • 我都试过了,有和没有空格(偶然)但是它对结果没有影响。
  • userObj 中有什么内容?尝试使用 text() 而不是 html() 来看看这是否是我们的问题所在。
  • 很高兴我能提供帮助。 PM你的地址,我会寄账单。
  • 另外,只是想说如果你使用html(): '&lt;pre&gt;' + usrObj + '&lt;/pre&gt;',你可以利用&lt;pre&gt;标签
【解决方案2】:

我发现代码存在 3 个问题。第三可能是相关的。但是前两个使您的代码难以理解。

  • 首先。成功回调的标头如下:function(data, 文本状态,jqXHR)。所以按照这个命名。否则你的代码会很混乱。
  • 第二。如果您希望 json 作为来自服务器脚本的响应,请在 ajax() 调用中添加“dataType: 'json'”选项。这会 确保您的回调将收到已经是 Json 的“数据” 目的。所以在 parseJSON() 中就不需要了。如果您期望 HTML -- dataType 必须是 'html' 并且所有 json 处理都应该被删除。
  • 第三。您正在尝试 html() Json 对象。然而这种方法 需要字符串。所以,很有可能 html() 变得有点疯狂并且 抛出异常。

【讨论】:

  • 感谢您的回复。成功的标题以这种方式格式化,以保持在我的雇主实施的代码格式内(这是一项要求)。我将使用 dataType: json 建议,谢谢。第三件事是关于 html() for json,这是主要问题。现在是 $('#load_window').text(usrObj);并且没有抛出错误。我需要使用 usrObj.result 或类似方法格式化响应。
猜你喜欢
  • 1970-01-01
  • 2021-02-20
  • 1970-01-01
  • 2018-12-10
  • 1970-01-01
  • 2019-01-20
  • 2021-02-06
  • 2012-10-26
  • 1970-01-01
相关资源
最近更新 更多