2013-02-01 92 views
1

我正在開發一個jQuery腳本,它從下一頁加載html並將其附加到當前容器。基本上做一個永無止境的頁面。但是該函數返回錯誤,但errorThrown爲空。這是通過ajax獲取html並將其附加到當前DOM的正確方法嗎?jQuery和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

謝謝大家的回答,它真的幫了點我在正確的方向。對於那些誰從搜索在此跌倒,我這是怎麼做的到底:

$("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>

簡單到底...

3

你爲什麼不使用:

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

它與HTML效果很好。

+0

好吧,我已經閱讀了關於該文件,它看起來像那正是我需要的。我執行了,仍然沒有工作,所以我再去釣魚一點。我發現我的'currentUrl'只返回'/'我使用'currentUrl = window.location.pathname;'來獲取URL。有什麼想法嗎? – SnareChops

+0

找到了。我需要使用'hostname'而不是'pathname' – SnareChops

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()); 
} 
...