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