奇怪的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" }
答
可以更新位置变量如下(我已经插入/插入后)和尝试?
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
也许有点问题'location'变量? – briosheje
不,重定向是好的,所需的页面加载正常,只有json参数不是 – rosuandreimihai
执行'var_dump($ _ GET)'并发布结果。另外,你使用任何.htaccess重写? –