如何判断哪个Javascript文件在PHP中请求数据?

时间:2012-10-26 01:54:48

标签: php javascript json

我有两个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

任何提示都会有所帮助,谢谢

3 个答案:

答案 0 :(得分:2)

如果不同的文件实际上自己指定了这一点,这是不可能的 - 例如,可以通过向XMLHttpRequest添加自定义标头或添加其他查询参数来完成。

答案 1 :(得分:1)

您可以将HTTP_REFERERHTTP_X_REQUESTED_WITH一起使用,但这可能很棘手我建议您可以使用ID

识别每个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;
}

答案 2 :(得分:0)

您不能一般性地编写“这来自脚本x”的代码 - JavaScript引擎无法跟踪任何特定代码行的来源。

您始终可以以不同的方式传递显式数据(即查询字符串),即

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

附注:考虑使用JQuery.ajax获取更通用的代码......