我正在开发一个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++;
}
});
答案 0 :(得分:3)
你为什么不用:
$("selector").load(htmlhere);
适用于html。
答案 1 :(得分: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());
}
...
答案 2 :(得分:0)
感谢所有回答的人,这确实帮助我指明了正确的方向。对于那些从搜索中偶然发现这一点的人来说,这就是我最终做到的方式:
$("div.blueline-page-container").append("<div id='blueline-page-" + nextPageNumber + "'><div>");
$("#blueline-page-" + nextPageNumber).load("/page/" + nextPageNumber + " div.blueline-page-container");
我向具有唯一ID的页面添加<div>
,然后将ajax结果加载到创建的<div>
。
最后简单......