V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
daben1990
V2EX  ›  前端开发

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

  •  
  •   daben1990 · 2015-04-17 10:28:41 +08:00 · 2436 次点击
    这是一个创建于 3544 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

    会不会是php默认设置有post的长度限制
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   902 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:11 · PVG 04:11 · LAX 12:11 · JFK 15:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.