Php 是否将JSON字符串作为HTTP查询参数发送?
在我正在构建的项目的本地版本上,我发送了一个JSON字符串作为HTTP查询参数,并使用Php 是否将JSON字符串作为HTTP查询参数发送?,php,json,apache,http,Php,Json,Apache,Http,在我正在构建的项目的本地版本上,我发送了一个JSON字符串作为HTTP查询参数,并使用JSON\u decode()函数将该字符串解码回PHP数组 在本地,这工作正常(XAMPP),但是当我将这些文件上传到客户端服务器时,它们就不再工作了。我已将此诊断为一个问题,即在全局$\u GET数组中未拾取作为JSON字符串传递的参数,例如o=[{“b_id”:“1”,“p_ref_id”:“SHAY899”,“b_name”:“John Smith”}] 我认为编码/解码JSON所需的PHP版本可能不可
JSON\u decode()
函数将该字符串解码回PHP数组
在本地,这工作正常(XAMPP),但是当我将这些文件上传到客户端服务器时,它们就不再工作了。我已将此诊断为一个问题,即在全局$\u GET
数组中未拾取作为JSON字符串传递的参数,例如o=[{“b_id”:“1”,“p_ref_id”:“SHAY899”,“b_name”:“John Smith”}]
我认为编码/解码JSON所需的PHP版本可能不可用,但是我在本项目的其他部分使用了JSON\u encode()
,所以这不是问题所在。我想知道这是否是一个最大字符长度的问题,如果是,我该如何解决它(或者至少从哪里开始)
如果没有,我们将非常感谢任何其他帮助 而不是使用JSON。它已经是URL编码的,如果这是问题的话,它可能会为您节省一些空间。它还处理多维数组。使用:
$string = urlencode(json_encode($array));
使用
$array = urldecode(json_decode($string));
将字符串解码回PHP数组。如果它是一个很长的URL,则可能会遇到某种限制。此外,出于安全原因,许多web服务(和框架)阻止URL上的某些字符,例如防御XSS攻击。奇怪的是,你没有收到任何类型的HTTP错误。在将JSON字符串作为查询字符串参数之前,你是否对其进行URL编码?@MikeChristensen你会说多长时间是一个真正的长URL/在基本配置(无框架)PHP上该限制设置在哪里,Apache或其他地方?我以前见过1024个字符作为默认HTTP GET限制。但我不知道在Apache中设置在哪里。。