JQUERY POST 提交参数过大的解决办法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JQUERY POST 提交参数过大的解决办法相关的知识,希望对你有一定的参考价值。

目前遇到有一个JQUERY POST的问题,其中提交的一个参数是BASE64编码后的图片,此字符串长度有几万,无法提交到服务器,如果字符串很小时可以正常提交,比如几百个字符的长度。
大概的代码如下
var api_uri="http://www.apc.com/sss.php";

var data = "method": "upface", "Face":$("#cont").val();
$.ajax(
type: "post",
ContentType:"text/xml;utf-8",
url: api_uri,
cache: false,
async: false,
data: data,

php.ini配置文件中的post_max_size选项,其代表允许POST的数据最大字节长度,默认为8M。如果POST数据超出限制,那么$_POST和$_FILES将会为空。

如果想要传输大量数据,必须修改该属性:

post_max_size=1024m,最大上限为2G

如果是实现文件上传,则还需要设置upload_max_filesize属性以实现大文件上传
参考技术A 不知道你为什么要这么做,如果非要这么做可以把cont的val值截成好几个值来分开传送,还有一个办法利用form和iframe来做,这个jquery有插件,ajax上传图片。

post提交参数内容过大后台接收不了

post提交参数内容过大后台接收不了

如ckeditor编辑器中提交的文本过大(如大于1M),后台接收为null值,而不多的时(如几百个字),能正常接收。

原因:tomcat默认不能传送过大的内容。

解决:设置maxPostSize值。打开tomcat下的server.xml,在下面内容中添加maxPostSize="8000000",表示最大为8M。

注意:网上很多说设置maxPostSize="0"时不限制大小,但经测试无效。

<Connector URIEncoding="UTF-8" connectionTimeout="20000" maxPostSize="8000000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

 

以上是关于JQUERY POST 提交参数过大的解决办法的主要内容,如果未能解决你的问题,请参考以下文章

jquery的$post方法不发送空数组的解决办法

如何利用jQuery post传递含特殊字符的数据

电源模块是什么?电源模块噪音过大的原因及解决办法!

MongoDB日志文件过大的解决办法

MongoDB日志文件过大的解决办法

asp.net jquery ajax post 后台页面获取不到值 怎么解决?