簡體   English   中英

奇怪的PHP $ _GET參數錯誤

[英]Strange php $_GET parameter error

我正在開發一個通過URL在jquery中發送參數的應用程序,如下所示:

json = JSON.stringify(chk);
base64 = Base64.encode(json);
location = '?route=home/debts/insert&json='+base64;

chk是類型數組。

然后在目標頁面中,我使用以下代碼在PHP中對其進行解碼:

$chk = json_decode(base64_decode($_REQUEST['json']));

在本地服務器上,這是一個奇跡,但是當進入實時系統時,在服務器上,我無法獲取URL參數,實際上$ _GET ['json']或$ _REQUEST ['json']為空,即使我可以以網址格式查看它們

有人可以告訴我我做錯了什么嗎?

編輯:

觸發var_dump($ _ GET): array(1) { ["route"]=> string(17) "home/debts/insert" }

您可以按以下方式更新位置變量(我在插入后插入了/)並嘗試嗎?

location ='?route = home / debts / insert /&json ='+ base64;

我遇到了類似的問題,在本地計算機上使用Apache,在服務器上使用IIS。 IIS出現配置問題,如果沒有/,則無法處理URL。

您應該對所有參數進行URL編碼。 您可以通過添加以下內容將URL編碼添加到base64數據: base64 = encodeURIComponent(base64);

您還應該考慮將URL編碼route=home/debts/insert route=home%2Fdebts%2Finsert route=home/debts/insertroute=home%2Fdebts%2Finsert

暫無
暫無

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

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