奇怪的php$\u获取参数错误

奇怪的php$\u获取参数错误,php,json,urldecode,Php,Json,Urldecode,我正在开发一个通过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向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参数,实际上$\u get['json']或$\u REQUEST['json']是空的,即使我可以在URL格式中看到它们

有人能给我一个关于我错了什么的提示吗

编辑:


触发变量转储($\u GET):
array(1){[“route”]=>string(17)“home/deborts/insert”}

您能按如下方式更新位置变量(我在insert之后插入了/a)并重试吗

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


我也遇到过类似的问题,我在本地机器上使用Apache,在服务器上使用IIS。IIS出现配置问题,如果没有/,它无法处理URL

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


您还应该考虑URL编码
route=home/deborts/insert
route=home%2fdeborts%2Finsert

可能是
位置
变量有问题?不,重定向正常,所需页面加载良好,只有json参数不是tdoa
var\u dump($\u GET)
并发布结果。另外,您是否使用了任何.htaccess重写?@Mr.Llama:我已经添加了结果。是的,站点正在使用.htaccess,但不在此子文件夹中。请尝试
console.log(base64)var\u dump($\u GET)
。只是想确保所有的东西都被正确地传递,并且实际上被正确地编码或者其他什么。