1

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;
});
});
4

2 に答える 2

1

phpスクリプトがそれを呼び出しているjavascriptファイルのディレクトリの場所を想定している可能性がありますか?この場合、 jsを介してロードされるときに、現在の作業ディレクトリを基準にしたインクルードファイルのパスを書き込む必要があります。

現在のディレクトリを見つけるには、これをphpファイルの一番上に配置してみてください。(インクルードの前):

echo "Current Directory: " . getcwd();
exit;
于 2013-02-13T19:07:49.683 に答える
1

推測ですが、上部のファイル リンクはおそらく解決されていません。

あなたはそれらを次のように書くべきです

<script src="/js/jquery.js" type="text/javascript">

それ以外の

<script src="js/jquery.js" type="text/javascript">

インクルード内の相対リンクであるロジックは、インクルード ファイルを /includes/ フォルダーなどに配置する場合、別の意味になる可能性があります。

于 2013-02-13T20:34:00.837 に答える