如何从Ajax调用的Div内部进行Ajax调用?

时间:2011-01-26 15:27:16

标签: php ajax html hyperlink

我有一个像这样的PHP页面:

这是原理图: http://img233.imageshack.us/img233/4895/13423274.jpg

在DIV 1和DIV 2中,我对内容进行了Ajax调用。 Ajax调用是从主页面进行的。 如果我想打电话从DIV 1改变DIV 2它不起作用= /
我试过:

document.getElementById('div2').innerHTML = data;

任何人都可以帮助我吗?三江源!

2 个答案:

答案 0 :(得分:0)

id无法以数字开头,因此可能会导致问题。

除此之外,它取决于您的javascript所在位置以及将其附加到事件处理程序的方式和时间。

如果javascript包含在DIV 1中加载的代码中,则应该没有问题,但是如果它已经在页面上,则需要将其附加到新加载的DIV 1中载满了。

例如,请参阅jQuery .live() function documentation以详细解释我的意思。

答案 1 :(得分:0)

那么在DIV1的内容中,您有一些链接,比如想要将内容加载到DIV2中?你需要做的是将事件监听器添加到DIV1中的链接,这样当它们被点击时,它们将创建将内容加载到DIV2的AJAX调用。

我建议使用jQuery(http://jquery.com/),你可以这样做:

// getting the content into DIV1
$( '#div1' ).load( '/path/to/backend.php', function()
{
    // the ajax request is complete, so let's add listeners to the a tags in DIV1
    $( '#div1 a' ).click( function()
    {
        // this clears DIV2's content
        $( '#div2' ).empty();

        // and now we load some ajax by getting the href of the a tag and passing that to our backend
        $( '#div2' ).load( '/path/to/backend.php', { page: $( this ).attr( 'href' ) };
    });
});

您可以在此处阅读更多内容:http://api.jquery.com/load/