使用jquery.ajax()搜索db并获取" Uncaught Error:NOT_FOUND_ERR:DOM Exception 8"

时间:2012-10-04 20:09:58

标签: javascript jquery ajax json dom

我正在使用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>

2 个答案:

答案 0 :(得分:0)

摆脱“html”之后的空间:

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

......应该是

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

答案 1 :(得分:0)

我看到代码有3个问题。第三个可能是相关的。但前两个使你的代码难以理解。

  • 首先。成功回调的标题如下:功能(数据, textStatus,jqXHR)。所以请遵循这个命名。否则你的代码会令人困惑。
  • 二。如果您希望json作为服务器脚本的响应,请在ajax()调用中添加“dataType:'json'”选项。这将 确保你的回调将收到已经是Json的“数据” 宾语。因此parseJSON()中不需要。如果您希望HTML - dataType必须是'html',那么应该删除所有json处理。
  • 第三。您正在尝试html()Json对象。不过这种方法 期待字符串。所以,很有可能html()有点疯狂 抛出异常。