0

我有两个 javascript 文件,调用它

  • test1.js
  • test2.js

它们用于使用以下命令从 php 文件中请求数据:

var xmlhttp= new XMLHttpRequest();

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

我有一个 php 文件,用于执行一些查询并将编码的 json obj 返回到上面的 js 文件之一,调用它

  • 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

您可以使用HTTP_REFERERwithHTTP_X_REQUESTED_WITH但可能会很棘手我建议您可以js使用 ID 识别每个请求

例子

  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 回答