在我使用jquery.load()后,它不会读取index.php上的includes,并使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;
});
});
php脚本是否假定了调用它的javascript文件的目录位置?在这种情况下,当通过js加载当前工作目录时,您需要将包含的文件的路径写入到当前工作目录。
要找到当前目录,请尝试将其一直放在php文件的顶部。(包含之前):
echo "Current Directory: " . getcwd();
exit;
这里只是猜测,但顶部的文件链接可能没有得到解决。
你应该把它们写成
<script src="/js/jquery.js" type="text/javascript">
而不是
<script src="js/jquery.js" type="text/javascript">
如果你把包含的文件放在/included/文件夹或类似的文件夹中,那么包含中的相对链接的逻辑现在可能意味着不同。