[英]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.