电商平台项目之——Ajax请求,服务端处理完不跳到success

1、问题描述:

      最近在修改电商平台的发布商品页面,发布商品时,前端与后台交互采用Ajax  Post请求,就这么一个简单的画面,我遇到一个非常奇怪且困扰我很久的问题:

      (1)商品发布失败(有时候能发布成功,有点灵异),Post回调函数不进success,只进error !  

      (2)商品修改时,因为与服务端交互的数据太大,一直保存不成功,报400错误,且后台报错如下:

               java.lang.IllegalArgumentException: Request header is too large

接下来,我提供一下自己解决以上两个问题的方法:

2、问题解决:

     (1)首先,对于第一个问题,我经过多次测试,发现,在前端所有输入框都填全的情况下可以发布成功。于是将问题定位在:未填项与后台交互时出错,导致后台处理异常!

      我的解决方案是:将radio 单选框默认选中 否,即修改我的代码如下(当然这是我项目中的一部分代码,仅作参考):

 <label class="radio-inline col-sm-2">
    <input type="radio" id="${lc.num}content${gl.num}" 
        value="${lc.attrValue}"
        name="${gl.attrName}" 
        class="shifouJinKou"
        nchange="ifimportchange()"
        <#if lc.attrValue == '否'>checked="true"</#if>/>
        ${lc.attrValue}
        <br/>
</label>

       (2)第一个问题就这么解决了,我们接下来来解决第二个问题:

                到stackoverflow:https://stackoverflow.com/进行查找,我将问题分析如下:

                问题说明:post提交传输的内容太多了,超出了tomcat能接受的大小,需要修改tomcat的server.xml即可:

                处理办法:

                在server.xml中

               <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"  maxPostSize="0"                 maxHttpHeaderSize ="1024000"/> 

               加上maxHttpHeaderSize ="1024000"  ,调大此参数,你的json串很长,后台一样也可以接收了!

3、总结:

以上是我在项目中一个小小总结,分享给大家,希望对大家有帮助!

今日感想:项目中,属于自己的功能模块,功能再小,业务逻辑再简单,都要写好注释,通过自测提高模块的完备性!这既是对自己能力的一种高要求,也是对接手你代码的维护人员的一种尊重!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值