admin管理员组文章数量:1794759
spring mvc 返回给jquery ajax 请求的数据包含中文问题
本次应用场景:
后台:spring mvc
前端:jquery ajax json.js
spring mvc代码:
@RequestMapping(....)
public @ResponseBody String getSomething(HttpServletResponse response)
{
response.setHeader("Charset","UTF-8"); //设置编码为utf-8
//业务代码
//return str;
//之前是直接返回字符串,研究发现,spring使用注解时在代码内部使用了硬编码iso-8859-1
//后续补充:如果将str重新编码后返回也是可以完成同样效果,
//代码: return new String(str.getBytes("utf-8"),"iso-8859-1");
//如果使用如下方式返回就没有问题。
response.getWriter().print(str);
return null;
}
这样返回给前端时,只要通过JSON.parse(str)就可以将ajax返回的字符串转换成json对象(注,返回的字符串要满足json格式,{“id”:"101"}或者数组形式[{“id”:"101"},{“id”:"102"}])
如果返回的是一个List<Object>类型的list,
var jsonStr = JSON.JSON.stringify(lsit) //将list转换成json串
var json = var obj = eval('(' +jsonStr+ ')');//将json串转换成json对象,然后进行操作
如:var id = json.id;
后续补充:其实在requestMapping中设置produces编码为utf-8即可 方便又省事。
@RequestMapping(produces={"application/json;charset=UTF-8"}).
版权声明:本文标题:spring mvc 返回给jquery ajax 请求的数据包含中文问题 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686612406a86078.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论