在我使用jquery.load()后,它没有读取index.php上的包含并使home.php不可读,继承我的示例代码。但是如果我在home.php上手动添加了sqlcon.php的内容就可以了,我该怎么办呢?
的index.php
require 'sqlcon.php';
include 'portal.php';
portal.php
<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/ajax.js" type="text/javascript"></script>
<div id="nav">
<ul>
<li><a href="modules/menu/home.php" class="nav">Home</a></li>
<li><a href="modules/menu/setup.php" class="nav"> Setup</a></li>
</ul>
</div>
<div id="subnav"></div>
home.php
$result = mysql_query("SELECT announcement_date,announcement_title,announcement_text FROM sp_announcement") or die(mysql_error());
echo "<table id=\"newspaper-b\">";
echo "<thead>";
echo "<tr>";
echo "<th scope=\"col\">Date</th>";
echo "<th scope=\"col\">Title</th>";
echo "<th scope=\"col\">Announcement</th>";
echo "</tr>";
echo "</thead>";
while($row = mysql_fetch_array( $result )) {
echo "<tr>";
echo '<td>' . $row['announcement_date'] . '</td>';
echo '<td>' . $row['announcement_title'] . '</td>';
echo '<td>' . $row['announcement_text'] . '</td>';
echo "</tr>";
}
echo "</table>";
echo "<br>";
echo "<br>";
ajax.js
$(document).ready(function() {
$('a.nav').click(function() {
var url = $(this).attr('href');
$('#subnav').load(url);
return false;
});
});
答案 0 :(得分:1)
可能是PHP脚本假设正在调用它的javascript文件的目录位置吗?在这种情况下,当您通过js加载时,您需要将包含的文件 relative 的路径写入当前工作目录。
要查找当前目录,请尝试将其一直放在php文件的顶部。 (在包括之前):
echo "Current Directory: " . getcwd();
exit;
答案 1 :(得分:1)
这里只是一个猜测,但顶部的文件链接可能没有得到解决。
你应该把它们写成
<script src="/js/jquery.js" type="text/javascript">
而不是
<script src="js/jquery.js" type="text/javascript">
如果你将包含的文件放在/ includes /文件夹或类似的东西中,那么逻辑作为include中的相对链接现在可能意味着不同的东西。