0

私は2つのjavascriptファイルを持っています、それを呼びます

  • test1.js
  • test2.js

これらは、以下を使用してphpファイルからデータを要求するために使用されます。

var xmlhttp= new XMLHttpRequest();

xmlhttp.open("GET", "../forum/getSomething.php", true);
xmlhttp.send();

いくつかのクエリを実行し、エンコードされたjsonobjを上記のjsファイルの1つに戻すために使用されるphpファイルがあります。これを呼び出します。

  • getSomething.php

私の質問は、jsがphpにリクエストを送信しているファイルをどのように知ることができるかということです。最終的に、私は条件を述べて、次のようなことをしたいと思います:

# inside getSomething.php

# conditional statements
if request from test1.js
    do A
else if request from test2.js
    do B

どんなヒントも役に立ちます、ありがとう

4

3 に答える 3

2

これは、別のファイルが実際にこれを指定しない限り不可能です。これは、たとえば、カスタムヘッダーをにXMLHttpRequest追加するか、クエリパラメータを追加することで実行できます。

于 2012-10-26T01:56:41.393 に答える
1

で使用できますが、注意が必要な場合があります。IDを使用HTTP_REFERERして各リクエストHTTP_X_REQUESTED_WITHを識別することができるとアドバイスします。js

  xmlhttp.open("GET", "../forum/getSomething.php?action=test1", true); 

次にPHP

switch ($_GET['action']) {
    case "test1" :
        // Do Test 1
        break;

    case "test2" :
        // Do Test 2
        break;
}
于 2012-10-26T01:56:57.040 に答える
0

「これはスクリプトxから来ています」というコードを一般的に書くことはできません-JavaScriptエンジンは、特定のコード行がどこから来ているかを追跡しません。

各スクリプトとは異なる方法で(つまり、クエリ文字列で)明示的なデータをいつでも渡すことができます。

 xmlhttp.open("GET", "../forum/getSomething.php?from=test1", true);

補足:より一般的なコードにはJQuery.ajaxの使用を検討してください...

于 2012-10-26T01:58:20.857 に答える