奇怪的PHP $ _GET参数错误

问题描述:

我开发通过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']是空白的,即使我可以在URL格式中看到它们

有人可以给我一个关于我的错误的提示吗?

编辑:

后续代码var_dump($ _ GET)触发:array(1) { ["route"]=> string(17) "home/debts/insert" }

+0

也许有点问题'location'变量? – briosheje

+0

不,重定向是好的,所需的页面加载正常,只有json参数不是 – rosuandreimihai

+0

执行'var_dump($ _ GET)'并发布结果。另外,你使用任何.htaccess重写? –

可以更新位置变量如下(我已经插入/插入后)和尝试?

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

我遇到了类似的问题,我在本地计算机和服务器上使用了Apache。 IIS有一个配置问题,它不能处理没有/的URL。

您应该对所有参数进行URL编码。您可以通过添加添加URL编码以base64数据如下: base64 = encodeURIComponent(base64);

你也应该想想URL编码route=home/debts/insert作为route=home%2Fdebts%2Finsert