簡體   English   中英

在PHP頁面中使用AJAX加載部分頁面

[英]load partial page using AJAX in PHP page

我試圖弄清楚如何在我的php頁面中使用AJAX將部分頁面(div)加載到另一個div中。

基本上,我有一個帶有一些php輸出內容的div,並且我需要使用ajax將div的內容放入另一個,但是我的代碼不做任何事情(它不會將div的內容放入另一個)。

這是我當前的代碼:

<script type="text/javascript">
$(document).ready(function () {

    function load() {
        $.ajax({
            type: "GET",
            url: "<?php echo $actual_link; ?>",
            dataType: "html",
            success: function(response) {
            //  $("#ajaxContent").html(response);
                $("#issomeone").html($(response).find("#notis"));

                setTimeout(load, 4000);
            }
        });
    }

    load();
});
</script>

因此, #notis div保留了php輸出,而#issomeone div是我需要將其放入使用Ajax的div中。

我的代碼中是否缺少某些內容,或者我做錯了所有事情?

任何幫助,將不勝感激。

謝謝

編輯:

這無能為力:

<script type="text/javascript">
$(document).ready(function () {


function load() {
    $.ajax({
        type: "GET",
        url: "<?php echo $actual_link; ?>",
        dataType: "html",
        success: function(response) {
        //  $("#ajaxContent").html(response);
        //$("#issomeone").html($(response).find("#notis"));


        $('#issomeone').load("<?php echo $actual_link; ?> #notis");

        setTimeout(load, 4000);
    }
});
    }

    load();
});
</script>

您正在find DOM元素,然后嘗試使用html()將其設置為目標元素的innerHTML。 本質上,您的類型不匹配。

您將需要獲取#notis的innnerHTML作為參數傳遞給此函數,因此:

$("#issomeone").html($(response).find("#notis").html());

或者,如果您想保留整個#notis元素,則可以追加節點

$("#issomeone").append($(response).find("#notis"));

但實際上,由於您使用的是直接GET,因此您最好做一下:

$('#issomeone').load('<?php echo $actual_link; ?> #notis'); 

這為您嘗試使用.ajax()進行更多手動操作提供了更簡單的抽象

但是,我鼓勵您不要養成加載完整HTML頁面,然后將它們添加到某些特定元素的習慣。 最好的設計架構是讓AJAX目標腳本僅在可能時提供所需的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM