这就是我想要做的
1-单击提交
2-隐藏DIV容器1
3-显示DIV容器2
4-将"PricingDisclaimer.php“中的所有Div加载到分区容器2中。
这是我的DIV代码
<div id="MainContainer">
<div class="Container1">
Lalala content
<input type="submit" value="Select" id="Load_Container2"/>
</div>
<div id="Container2" style="display:none;">I want to load all of the DIVs found inside "PricingDisclaimer.php" and place them inside this container</div>
</div>这是我的Javascript / Jquery代码
<script type="text/javascript">
$(document).ready( function() {
$("#Load_Container2").on("click", function() {
$(".Container1").hide();
$("#Container2").show();
$("#Container2").load( "http://www.prismasites.com/wp-content/themes/Prismasites/PricingDisclaimer.php" );
});
</script>它隐藏了DIV Container1 WORKS
它显示了DIV Container2的工作原理。
问题:
它不会将PricingDisclaimer.php加载到#Container2 2中
我是PricingDisclaimer.php
<div id="PricingBoxDisclaimer">
<div id="PBDisclaimerTLCorner"></div><div id="PBDisclaimerTMBorder"></div><div id="PBDisclaimerTRCorner"></div>
<div id="PBDisclaimerMLBorder"></div><div id="PBDisclaimerContainr"><div id="PricingDisclaimerTitle"><span><b>DISCLAIMER</b></span></div><div id="PricingDisclaimerContainer"><div id="PricingDisclaimerText">
<?php query_posts('p=1272' ); ?>
<?php if (have_posts()); ?>
<?php while ( have_posts() ) : the_post();?>
<br /><h1>
<?php
the_title();
echo '<br>'; ?></h1><br />
<?php
echo '<p>';
the_content();
echo '</p>';
endwhile; ?>
</div></div><div id="PBDisclaimerMRBorder"></div>
<div id="PBDisclaimerBLCorner"></div><div id="PBDisclaimerBMBorder"></div><div id="PBDisclaimerBRCorner"></div>
</div>我想要所有这些^
在这里面
<div id="Container2" style="display:none;">HERE</div>我该怎么做?
发布于 2015-12-24 04:31:26
这实际上是因为,以调用load的方式,文件被作为独立文件调用,但也有一些代码依赖于wordpress函数。因此,它不能像你试图调用的那样被调用。如果您想以这种方式加载它,您应该使它独立于wp代码。只要尝试访问浏览器中的url,您现在就会得到这个错误:
DISCLAIMER
Fatal error: Call to undefined function query_posts() in /srv/disk12/1806831/www/prismasites.com/wp-content/themes/Prismasites/PricingDisclaimer.php on line 4编辑
我明白了,现在你的链接是工作后,你删除了可湿性粉剂相关代码。但我在你的JS代码中发现了另一个问题。您错过了关闭大括号}); for $(document).ready。就这样把它修好:
$(document).ready( function() {
$("#Load_Container2").on("click", function() {
$(".Container1").hide();
$("#Container2").show();
$("#Container2").load( "http://www.prismasites.com/wp-content/themes/Prismasites/PricingDisclaimer.php" );
});
}); //You missed this closing braces交叉起源问题
跨源请求被阻止:相同的原产地策略不允许读取远程资源。
这是因为,您将请求从一个域发送到另一个域,这不允许跨源请求。您可以从您的文件PricingDisclaimer.php中允许这样做。只需将这一行添加到文件的顶部(在执行任何回显或输出任何html代码之前):
header('Access-Control-Allow-Origin: *');了解更多信息:跨源资源共享
发布于 2015-12-24 05:55:04
我觉得这可能对你有帮助。
$("#Container2").html('<iframe src="http://www.prismasites.com/wp-content/themes/Prismasites/PricingDisclaimer.php"</iframe>');https://stackoverflow.com/questions/34447152
复制相似问题