form 提交表单,内容为大量中文( 5 万字以上),有时候会出现内容不全的情况

2015-04-17 10:28:41 +08:00
 daben1990

$.ajax post方式提交json字符串,对中文内容做了encodeURIComponent 编码。

后台的日志显示,有时候能够成功提交,有时候,内容会断掉,导致json串后面的其他key,无法获取。

请问各位大神,有遇到过的吗?

2412 次点击
所在节点    前端开发
7 条回复
a591826944
2015-04-17 10:40:52 +08:00
你这种 情况 应该是 文章中有 & 符号 绝对的。。。
daben1990
2015-04-17 10:52:15 +08:00
& 符号,通过encodeURIcomponent ,也是可以编码的啊。
wesley
2015-04-17 10:57:39 +08:00
看看你的服务器配置,允许的post内容最大多大
daben1990
2015-04-17 11:06:38 +08:00
最大能到30万,而且主要是,在接受到request请求后,在日志文件中,把整个request头都打印出来,发现很多条记录的主要内容断掉了。还没到后台检查的那一步。

主要是有时候发生,自己又不能重现。远程到客户主机上,刷新几次页面,就会出现这种情况。包括chrome浏览器
dong3580
2015-04-17 11:50:29 +08:00
五万应该还好吧,我以前出现你这种情况,用的Oracle数据库,后来发现是数据库的问题,字段太长了。
调试一下,看看是插入数据库之前数据被掐断还是插入数据库之后断了。
loading
2015-04-17 11:58:58 +08:00
列出内容不全的部分,看他们长度,如果是相近的长度,可能是post大小设置或者数据库字段长度限制。

如果是随机长度,找到最后一个字节看看。
daben1990
2015-04-17 14:57:39 +08:00
查了三条,length值分别是39345,49592,51754, 最后一个字节都是中文。。

在插入数据库之前,后台一收到请求,就打印日志了啊

会不会是php默认设置有post的长度限制

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/184277

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX