使用jquery通过ajax加载php

时间:2015-05-14 14:03:47

标签: javascript php jquery ajax wordpress

我正在尝试在div中加载本地页面。每个菜单链接将通过ajax获取其包含php的相应内容,然后此内容将显示在div中。 当我在WordPress 4.2.2中开发主题时,所有这些都托管在本地服务器(我的电脑运行xampp)上。

我正在使用的jQuery代码如下。为了清晰起见,我添加了评论:

jQuery(MLinks).click( function(){ //MLinks is an array of links from the DOM
var TID=Tabs.indexOf(this);
switch(TID){ //We find which link has been clicked
    case 0:
        jQuery("#TabCnt").load("http://localhost/project/a #TabCnt"); //load #TabCnt from each page (a, b, c)
    break;
    case 1:
        jQuery("#TabCnt").load("http://localhost/project/b #TabCnt"); 
    break;
    case 2:
        jQuery("#TabCnt").load("http://localhost/project/c #TabCnt"); 
    break;
}
if((window.location.href == urlV)||(window.location.href == urlP)||(window.location.href == urlK)){
    return false;
} //If we're outside of the addresses in urlV, urlK or urlP, behave like a normal anchor
return; });

加载的页面包含以下代码:

get_header(); ?>
<div id="TabCnt">
    <div id="primary" class="content-area">

        <?php do_action('slideshow_deploy', '100'); ?>

        <main id="main" class="site-main" role="main">

            <?php while ( have_posts() ) : the_post(); ?>

                <?php get_template_part( 'template-parts/content', 'page' ); ?>

                <?php
                    // If comments are open or we have at least one comment, load up the comment template
                    if ( comments_open() || get_comments_number() ) :
                        comments_template();
                    endif;
                ?>

            <?php endwhile; // end of the loop. ?>

        </main><!-- #main -->
    </div><!-- #primary -->
</div><!-- #TabCnt -->

除了这一行之外,一切都按照我的要求运作:

<?php do_action('slideshow_deploy', '100'); ?> 

它来自幻灯片插件。这个问题并不是特定于这个插件,因为我已经尝试了其他插件。

我还尝试创建仅包含非常相似的行的单独文件,然后通过目标html上的iframe加载文档,如下所示:

<iframe src="slideshow_a.php"></iframe>

这会引发错误。

我没有太多专业知识,但我认为当我使用ajax检索内容时,php代码没有被发送到服务器。

有什么建议吗?

谢谢!

0 个答案:

没有答案