2012-10-26 58 views
0

我有两个JavaScript文件,称它为如何判断哪个Javascript文件在PHP中请求数据?

  • 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

发送一些参数该PHP,无论是GET或POST。 – TheZ

+0

也许可以在$ _SERVER全局中使用 – 2012-10-26 01:56:47

回答

1

您可以使用HTTP_REFERERHTTP_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; 
} 
+0

在这种情况下使用HTTP_REFERRER和REQUESTED_WITH是没有用的。 –

2

这也不是没有可能具有不同的文件实际上指定这个自己 - 这可以实例可以通过将自定义标头添加到XMLHttpRequest或通过添加额外的查询参数来完成。

0

你不能一般性地编写“来自脚本x”的代码 - JavaScript引擎不会跟踪任何特定行代码c青梅竹马。

你总是可以通过明确的数据(即查询字符串)不同于每个脚本即

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

边注:考虑使用JQuery.ajax更多的通用代码...

相关问题