繁体   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