当数据大小超过1119字节时,jqueryajax调用失败


jquery ajax call fails when data size exceeds 1119 bytes

点击按钮触发此代码:

  $("#testButton").click(function() {        
    var str = $("#ptext").html();
    $.ajax({
      type: "POST",
      url: "/pages/testfn",
      data: { thetext: str }
    })
    .done(function(msg) {
      alert( "success " + msg );
    });       
  });

处理这个问题的php是这样的:

public function testfn() {
  $s = $_POST['thetext'];
  echo strlen($s);
}  

如果我在#ptextdiv中的文本量小于1120字节,这将非常有效。不止于此,它默默地失败了。如何将1120个字节以上的字节传递给testfn函数?

检查您的PHP配置。这很可能是配置问题。尝试在php.ini:中篡改以下值

post_max_size=32M
upload_max_filesize=32M
memory_limit=32M

32M(兆字节)只是一个例子,您可能需要其他值。

这太尴尬了。我只是在通过代理服务器测试网站时才发现这个问题。为了从"外部"访问该网站,我使用了加拿大的Netshade代理服务器。线索是,当我用手机浏览器测试POST时,它起了作用。所以我使用了本地IP地址并关闭了代理服务器,一切都正常了。