奇怪的php$\u获取参数错误
我正在开发一个通过URL向jquery发送参数的应用程序,如下所示:奇怪的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'])); 在本地服务器上,这是一个奇迹,
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参数不是tdoavar\u dump($\u GET)
并发布结果。另外,您是否使用了任何.htaccess重写?@Mr.Llama:我已经添加了结果。是的,站点正在使用.htaccess,但不在此子文件夹中。请尝试console.log(base64)正如Llama先生所说,var\u dump($\u GET)
。只是想确保所有的东西都被正确地传递,并且实际上被正确地编码或者其他什么。