簡體   English   中英

如何判斷哪個Javascript文件正在用PHP請求數據?

[英]How to tell which Javascript file is requesting data in PHP?

我有兩個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

任何提示都會有所幫助,謝謝

沒有不同的文件自己實際指定,這是不可能的-例如,可以通過將自定義標頭添加到XMLHttpRequest或添加其他查詢參數來完成。

您可以將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;
}

您無法一般性地寫上“這是來自腳本x”的代碼-JavaScript引擎無法跟蹤任何特定代碼行的來源。

您始終可以與每個腳本不同地傳遞顯式數據(即,以查詢字符串形式),即

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

旁注:考慮將JQuery.ajax用於更通用的代碼...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM