美文网首页简友广场
ajax出现中文乱码解决方案

ajax出现中文乱码解决方案

作者: 前端来入坑 | 来源:发表于2019-01-05 18:24 被阅读52次
$.ajax({
    dataType : 'json',
    type :'POST',
    url : 'http://localhost/test/test.do',
    data : {id: 1, type: '商品'},
    success : function(data){
      ...
    }
 } );

提交后后台action程序时,取到的type是乱码

  • 提交前采用encodeURI两次编:

修改以下代码

data:{
    id:1, 
    type:encodeURI(encodeURI('商品'))
}

在后台action里要对取得的字符串进行decode

String type = request.getParameter(“type”);

type = URLDecoder.decode(type, “UTF-8″);
  • ajax配置contentType属性,加上charset=UTF-8
    在ajax方法中加入以下参数
contentType: "application/x-www-form-urlencoded; charset=UTF-8"

使用其它js框架或者xhr都是差不多,设置header中contentType即可,
这里关键是charset=UTF-8,如果没有这个,是不行的,默认jQuery里的contentType是没有的

参考https://blog.csdn.net/guoguo19811025/article/details/8164119

相关文章

网友评论

    本文标题:ajax出现中文乱码解决方案

    本文链接:https://www.haomeiwen.com/subject/gnfycqtx.html