0

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

单击搜索链接时,脚本无法将 usrObj 返回到 div,并抛出 msg Uncaught Error: NOT_FOUND_ERR: DOM Exception 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>
4

2 回答 2

0

去掉“html”后面的空格:

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

...应该

$('#load_window').html(usrObj);
于 2012-10-04T20:13:39.577 回答
0

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

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