2009-10-10 175 views
0

我使用jQuery發送文本回到我的ajax.php控制器是這樣的:jquery ajax POST大小限制?

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,和笨1.7.1。

+0

請參閱作者:regilero對http://stackoverflow.com/questions/9691057/php-apache-ajax-post-limit的評論 – 2012-05-16 11:16:45

回答

0

我想通了。出於某種原因,NetBeans的調試器告訴我$ _POST ['data']爲空,但事實並非如此。要手動確定收到的$_POST的大小,我用這些調用:

$request = http_build_query($_POST); 
$size = strlen($request); 

而且,我把$ _ POST [「數據」]到CodeIgniter的會議:

$event_array = array('event' => $_POST['data']); 
$this->session->set_userdata($event_array); 

這就要到了空導致我進一步認爲$ _POST是空的。但問題是$this->session,顯然有4K大小的限制(根據this post)。