4

Ajax リクエストを含む JavaScript ファイルで、URL は何に関連していますか? ディレクトリalphaとbravoを含むwwwディレクトリがあります。アルファ版の JavaScript ファイルとそれを含む HTML ファイル、およびリクエストをブラボーで処理する PHP。

私が持っているJavaScriptファイルでは、正しいとはxmlhttp.open("GET", "CheckServer.php?name="+name,true);思いません。CheckServer.php試してみまし../bravo/CheckServer.phpたが、うまくいきません。

私は JQuery を使用しておらず、WAMP を使用しています。

さらに、リクエストを処理するための PHP ページが最初にアクセスされているかどうかを確認するために使用できるトラブルシューティング ツールはありますか?

編集: コンソールを開いたところ、JavaScript ファイルで呼び出している関数が定義されていないと表示されます。これは、.js ファイルを別のディレクトリに移動した場合にのみ発生します。(<script>タグを適切に変更しました: <script type="text/javascript" src="../alpha/Check.js">.

編集 2: まったく同じファイル/フォルダーをデスクトップにコピーし、すべてが機能するため、WAMP に問題があると思います。

4

2 に答える 2

6

これは、呼び出されたページの現在の場所に基づいた相対的なものです。JavaScript のロード元とは関係ありません。

コンソールを開き、[コンソールまたはネット] タブの Ajax リクエストを見ると、リクエストしているパスが表示されます。

于 2013-02-13T21:51:17.107 に答える
1

これは URL であり、ディレクトリ自体とは何の関係もありません。それらはサーバー上のディレクトリにマップされている可能性があり、多くの場合そうですが、クライアントはそれを確実に知ることはできず、気にしません。URLは、現在のURL (ブラウザのアドレス バーに表示されるもの) に相対的です。

したがって、問題は「CheckServer.php がサーバー上のどこにあるか」ではなく、「クライアントからどのようにアクセスできるか」です。

次のような場合:

http://example.com/alpha/index.html
http://example.com/bravo/CheckServer.php

大丈夫。相対 URL を使用します。

しかし、次のような場合:

http://alpha.example.com/index.html
http://bravo.example.com/CheckServer.php

それからそれは複雑になります。AJAX は通常、異なるドメイン間では機能しないため、CORS (Cross-Origin Resource Sharing)を調べる必要があります。

ああ、CheckServer.php にまったくアクセスできない場合は...答えは想像できるでしょう。

于 2013-02-13T22:02:20.330 に答える