我正在尝试在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代码没有被发送到服务器。
有什么建议吗?
谢谢!