使用get in php可以发送多少个字符

时间:2011-06-13 03:02:51

标签: php

  

可能重复:
  maximum length of HTTP GET request?

在php中使用get in url可以发送多少个字符。

表示使用PHP中的GET方法发送数据的限制

我正在尝试发送如下的数据。但在下一页我没有得到所有数据。

xmlhttp2.open(“GET”,“http://localhost/My_Project/LeaveLength_Ajax.php?_Get_FromDate=”+ FromDate_G +“& _Get_ToDate =”+ ToDate_G +“& PLAvailabe_JS =”+ PLAvailabe_JS +“& CLAvailabe_JS =”+ CLAvailabe_JS +“& LWPAvailabe_JS =“+ LWPAvailabe_JS +”& MLAvailabe_JS =“+ MLAvailabe_JS +”& COMPAvailabe_JS =“+ COMPAvailabe_JS +”& FromHomeAvailabe_JS =“+ FromHomeAvailabe_JS +”& LeaveType_JS =“+ LeaveType_JS,true);

请帮我解决这个问题。

3 个答案:

答案 0 :(得分:3)

理论上,浏览器,服务器和/或PHP都可以限制大小。例如,请参阅:http://support.microsoft.com/kb/208427

RFC 2068(可能已过时):

  

注意:服务器应该谨慎依赖于大于255字节的URI长度,因为某些较旧的客户端或代理实现可能无法正确支持这些长度。

您应切换到使用POST请求并将其作为帖子字段发送,而不是查询参数。

答案 1 :(得分:0)

我听说256是请求uri的最大长度。如果你想保持跨服务器和跨浏览器。

答案 2 :(得分:0)

基本上,这取决于您的浏览器。据我所知,您使用JavaScript来发出请求,因此这不是一个PHP问题。

假设您的问题与Javascript有关,那么它完全取决于您的浏览器有关它支持的请求URI的长度。有些浏览器有256个字节,有些浏览器有4 kb,有些浏览器长度为32 kb。

但是,您的URI看起来并不长,因此我认为您的确切请求URI存在问题,导致无法请求其余的URI。这可能是#个字符,未转义的unicode字符或其他内容。

您能找到并告诉我们您的浏览器请求的确切URI(使用Firefox上的Firebug或Chrome上的内置工具)以及您从PHP获得的URL是什么。 (可以使用var_dump($_GET);打印。