1

我正在开发一个 jQuery 脚本,它从下一页加载 html 并将其附加到当前容器。基本上制作一个永无止境的页面。然而,该函数返回一个错误,虽然errorThrown是空白的。这是通过 ajax 获取 html 并将其附加到当前 DOM 的正确方法吗?

$.ajax({type : "GET",
        url : currentUrl + "/page/" + nextPageNumber,
        dataType : "html",
        error : function(jqXHR, textStatus, errorThrown) { alert(textStatus); alert(errorThrown); },
        success : function(data) {
            var frag = document.createDocumentFragment();
            frag.appencChild($(data)[0]);
            var $page = $(frag); 
            $("div.blueline-page-container").append($page.find('div.blueline-page-container').html());
            nextPageNumber++;
        }
});
4

3 回答 3

3

你为什么不使用:

$("selector").load(htmlhere);

它适用于 html。

于 2013-02-01T00:22:12.037 回答
1

对于初学者来说,没有“appencChild”之类的东西。如果您正在尝试加载一个 ID,您已经可以通过在 $.load() 的 URL 字符串中使用whatever.html#yourId 来指定一个片段。如果您有更具体的需求,您可以简单地将响应 HTML 传递给 jQuery,并将其作为普通的 jQuery 对象进行操作:

...
success : function(data) {
    var $page = $(data);
    $("div.blueline-page-container").append($page.find('div.blueline-page-container').html());
}
...
于 2013-02-01T00:29:55.047 回答
0

感谢所有回答的人,这真的帮助我指明了正确的方向。对于那些从搜索中偶然发现的人,这就是我最终的做法:

$("div.blueline-page-container").append("<div id='blueline-page-" + nextPageNumber + "'><div>");
$("#blueline-page-" + nextPageNumber).load("/page/" + nextPageNumber + " div.blueline-page-container");

我添加一个<div>具有唯一 id 的页面,然后将 ajax 结果加载到<div>创建的。

最后简单...

于 2013-02-01T06:10:47.743 回答