C1garette 2018-03-09 06:11 采纳率: 0%
浏览 908
已结题

validationEngine.js 的ajax验证中文传值到后台变成乱码了,怎么处理?

页面validationEngine初始化 和ajax验证

<script type="text/javascript">
        $(document).ready(function(){
            $.extend($.validationEngineLanguage.allRules,{ "ajaxRmCustomerName": {  
                  "url": "$ctx/rmCustomer/ajaxRmCustomerName",  
                  "alertTextLoad":"* 检查中, 请稍后...",   
                  "alertText":"* 客户名称已存在."
                  }  
            });
            $("#rmCustomerAddForm").validationEngine('attach', {
                focusFirstField:true,//验证不通过时给第一个不通过的获取焦点
                validationEventTrigger : "blur",//触发验证的方式为失去焦点
                autoPositionUpdate : true,//是否自动(根据窗口大小)调整提示层的位置
                ajaxFormValidation : false,//设置为true,默认使用 Ajax 验证表单(验证时默认get方式提交表单数据)
                showOneMessage : true,//只显示一个错误提示
                promptPosition : "topRight",//提示框位置
                autoHidePrompt : true,//为true时,自动隐藏提示信息
                autoHideDelay : 2000//延时多少时间隐藏提示信息
            });

        });
    </script>

页面文本框和验证


<label class="col-sm-3 control-label no-padding-right">
                                                    客户名称: </label>

                                                <div class="col-sm-4">
                                                    <input type="text" class="form-control" id="name"
                                                        name="name" data-validation-engine="validate[required,funcCall[validationillegalCharacter],maxSize[20],ajax[ajaxRmCustomerName]]"/>
                                                </div>

后台代码

 /**
     * 验证名字是否存在
     * @param rmUser
     */

@RequestMapping(value = "/ajaxRmCustomerName", method = { RequestMethod.POST,
            RequestMethod.GET })
    @ResponseBody
    public  String ajaxRmCustomerName(String fieldId,String fieldValue) {
        boolean flag = false;
        if(fieldValue!=null&&!fieldValue.equals("")){
            RmCustomer rmCustomer = new RmCustomer();
            rmCustomer.setName(fieldValue);
            List<RmCustomer> uc = rmCustomerService.selectCutomerByName(rmCustomer);
            if(uc==null||uc.size()==0) flag = true;
        }
        JSONArray json = new JSONArray();
        json.add(fieldId);
        json.add(flag);
        return json.toString();
    }

页面输入
(https://img-ask.csdn.net/upload/201803/09/1520575860_428878.png)

后台接收
(https://img-ask.csdn.net/upload/201803/09/1520575876_301092.png)

  • 写回答

4条回答 默认 最新

  • C1garette 2018-03-09 06:18
    关注

    没发过代码块,发乱了,上面的js是页面加载验证的,中间的标签是页面的文本框和验证属性,下面是后台代码,前台输入的中文,后台接收的时候是乱码的,这种我不知道应该在哪里控制字符集.求大神指导.图片说明

    评论

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试