如下图所示,刚开始我往ajax中响应一个字符串str,但是alert弹出来的却是问号。
一开始怀疑我数据传错了,但是仔细检查了一遍发现没有错误,就意识到可能是编码的问题,所以我就加了各种utf-8编码,但是最终都是无效。
后来终于找到了解决办法,如下图所示,只要在@RequestMapping里添加produces = {“application/json;charset=UTF-8”}这行代码就行了。
解释:@ResponseBody这个注解是向ajax返回json数据格式的值,默认编码是“ISO-8859-1”,所以要通过produces = {“application/json;charset=UTF-8”}来修改为utf-8编码,这样ajax接收到的数据就不会乱码了。