-1

JavaScript 新手。在过去的几天里,我学到了很多东西。

我有一个加载日历的脚本。日历布局是用 php 构建的。我有以下代码:

jQuery.get(PLUGIN_DIR+'/bookings/reservation.php', function(data)
{
    jQuery('#content_div').html(data);
});

预订.php

<?php

echo '</div><div class="box_div" id="reservation_div"><div class="box_top_div" id="reservation_top_div"><div id="reservation_top_left_div"><a href="." id="previous_week_a">&lt; Previous week</a></div><div id="reservation_top_center_div">Reservations for week <span id="week_number_span">' . global_week_number . '</span></div><div id="reservation_top_right_div"><a href="." id="next_week_a">Next week &gt;</a></div></div><div class="box_body_div"><div id="reservation_table_div"></div></div></div><div id="reservation_details_div">';

?>

以上工作正常。但是,当我添加以下包含来定义 global_week_number 它停止工作。

<?php

include_once($_SERVER['DOCUMENT_ROOT'].'/wp-content/plugins/bookings/js/header-js.php');

echo '</div><div class="box_div" id="reservation_div"><div class="box_top_div" id="reservation_top_div"><div id="reservation_top_left_div"><a href="." id="previous_week_a">&lt; Previous week</a></div><div id="reservation_top_center_div">Reservations for week <span id="week_number_span">' . global_week_number . '</span></div><div id="reservation_top_right_div"><a href="." id="next_week_a">Next week &gt;</a></div></div><div class="box_body_div"><div id="reservation_table_div"></div></div></div><div id="reservation_details_div">';

?>

包含文件是 header-js.php:

<script type="text/javascript">
<?php
echo "PLUGIN_DIR = '".plugins_url()."';";
echo "global_css_animations = ".global_css_animations.";";
echo "global_week_number = ".global_week_number.";";
?>
</script>

我在这里不知所措。我不知道为什么当我包含 header-js.php 时它会停止工作。任何的想法?

谢谢。

4

1 回答 1

0

好的,刚刚发现问题。

这不是在变量名称之前缺少 $ 。尽管我确实同意我应该使用它的评论。

问题是我正在调用一个仅在 Wordpress 框架中可用的函数 plugins_url()。直到现在我都没有遇到问题,因为我所有的 php 脚本都在 Wordpress 中作为自定义页面运行 - 所以 plugins_url() 总是可用的。

当我使用 jQuery.get(reservation.php) 调用 php 脚本时,未定义函数 plugins_url() 并导致错误。

我有两个选择 - 使用 reservation.php 脚本加载 Wordpress 框架或避免使用 wordpress 函数。我选择了第二种。

谢谢。

于 2013-09-27T22:22:56.133 回答