2009-10-27 65 views
10

我試圖從外部頁面使用Ajax/jQuery.ajax函數將頁面加載到當前頁面。雖然我已經成功地加載了整個外部頁面,但我似乎無法加載只是 DIV元素。在Jquery中使用Ajax()函數將外部頁面的一部分加載到div

這裏是我的代碼:

$("a").click(function() { 
    /* grabs URL from HREF attribute then adds an */ 
    /* ID from the DIV I want to grab data from */ 
    var myUrl = $(this).attr("href") + "#external-div"; 
    $.ajax({ 
    url: myUrl, 
    success: function(html) { 
    /* loads external content into current div element */ 
    $("#current-div").append(html); 
    } 
    }); 
    return false; 
}); 

它吸引沒有任何麻煩的HREF屬性,但「#外部格」不會追加到URL。有任何想法嗎?

非常感謝!

〜賈裏德克羅斯利

+0

您所請求的網址正在獲取「#external-div」,但是無論您要聯繫的後端都不理解您只需要該一個div。 – wambotron 2009-10-27 00:32:43

回答

11

如果你想只返回該div你可以使用jQuery的load方法簡單地加載內容返回到您的#current-div ALA

$("a").click(function() { 
    /* grabs URL from HREF attribute then adds an */ 
    /* ID from the DIV I want to grab data from */ 
    var myUrl = $(this).attr("href") + " #external-div"; 
    $("#current-div").load(myUrl); 
    return false; 
}); 

看看的jQuery Ajax/load documentation

+0

嗨Quintin, 感謝您的快速響應。我不想使用load方法,因爲它限制了我可以做什麼樣的效果鏈和數據管理,但是現在它是我知道的唯一選項。再次感謝你的回覆。 是否有人知道如果Ajax/jQuery.ajax函數將允許我加載外部div? – user196986 2009-10-27 00:51:00

+0

這並非完全正確,您仍然可以爲加載方法提供回調並在其中應用鏈接,但所描述的方案(通過代碼)似乎超出了加載可執行的任何內容。除了您發佈的內容之外,您是否還有其他特別的事情要做? – 2009-10-27 03:11:53

+0

好點。我想我的問題並不完全完整。加載方法運行良好,但還有兩種情況可能會發現我自己。情況1)我可能需要加載XML數據(而不是HTML)和/或對錶單執行POST。情景2)對於上面的示例,我想淡出當前內容,加載新內​​容,然後淡入新內容。但是,只要我調用load()方法,它立即加載新內容,而不是等待以前的內容完全淡出。我很抱歉沒有更清楚。 – user196986 2009-10-27 15:57:45

相關問題