Jquery .load() does not read php includes


Jquery .load() does not read php includes

在我使用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/文件夹或类似的文件夹中,那么包含中的相对链接的逻辑现在可能意味着不同。