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 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?