我正在使用jquery将文本发送回我的ajax.php控制器,如下所示:
var dataString = "1234567890";
$.post(
'../ajax/save',
{ data: dataString },
function(){
alert("success");
},
"text");
效果很好,直到dataString变为~3500个字符。在该上限(~3.5 KB),ajax.php收到的$ _POST为NULL。为什么呢?
(我的php.ini post_max_size = 64M,所以不是那样。)
我的设置:Apache 2.2,PHP 5.2.9和CodeIgniter 1.7.1。
答案 0 :(得分:0)
我明白了。出于某种原因,NetBeans的调试器告诉我$ _POST ['data']为空,但事实并非如此。要手动确定收到的$_POST
的大小,我使用了这些调用:
$request = http_build_query($_POST);
$size = strlen($request);
另外,我将$ _POST ['data']放入CodeIgniter的会话中:
$event_array = array('event' => $_POST['data']);
$this->session->set_userdata($event_array);
哪一个空洞,让我进一步相信$ _POST是空的。但问题是$this->session
,显然有4K大小限制(根据this post)。