如何在jquery.validate.js远程函数中用ajax请求解决中文乱码

how to sove chinese garbled with ajax request in jquery.validate.js remote function

本文关键字:ajax 请求 解决 中文 函数 jquery validate js 程函数      更新时间:2023-09-26

示例:name=资源

rules: {
            name: {
                required: true,
                remote: {
                     url: location.href.substring(0,location.href.lastIndexOf('/'))+"/resourceName/check/exists",
                     dataType: "text", 
                     beforeSend: function(req) { req.setRequestHeader ("contentType", "text / html; charset = uft-8"); },
                     type: "GET"
                  }
            },
            url: {
                required: true,
                url: true
            },
            menu_id: "required"
        }

在我的控制器中,我得到了这个名字,但它有点像"µæº",我该如何解决这个问题?

@RequestMapping(value = "/resourceName/check/exists", method = RequestMethod.GET)
    public void isResourceNameExists(HttpServletResponse response,
            @RequestParam(value = "name", required = false) String name)
            throws IOException {
        name = new String (name.getBytes("UTF-8"),"UTF-8"); 
        response.setContentType ("text / text; charset = UTF-8");
        response.setCharacterEncoding ("UTF-8");
        response.getWriter().write(
                String.valueOf(resourceService.findResourcesByName(name)
                        .isEmpty()));
    }

我通过name = new String(name.getBytes("iso-8859-1"),"utf-8"); 解决了这个问题