406
这个问题也是搅了半天,才弄好这个问题,写出来是希望大家不要出现同样的问题,关键是避免自己以后现在同样问题。
function getJsonData(){
$.ajax({
// 传输数据的方式:POST/GET
type : "post",
// 请求URL
url : "${pagecontext.request.contextpath}/json/getData",
// 请求的数据类型
contentType : "APPlication/json;charset=utf-8",
// 传输到后台的数据
data : '{"userName" : "wumingshi", "gender" : "male"}',
dataType : "json",
// 请求成功
success : function(data){
alert(data.userName + ", " + data.gender);
console.log("服务器传输到前台的数据:" + data);
}
});
}
后端的java代码如下:
@controller
@RequestMapping("/json")
public class JsonhandlerController {
@RequestMapping(value = "/getData", method = RequestMethod.POST,
produces = "text/html;charset=UTF-8")
public @responseBody Person getData(@Requestbody Person person) {
System.out.println("姓名:" + person.getUserName() + ", 性别:" + person.getGender());
return person;
}
}
前端向后台请求时,总是没有任何结果,在浏览器中查看JavaScript出错信息如下:
报错:406 Not Acceptable,意思就前台无法接受后台信息,也就是前后也后台信息不匹配,出错的原意是,如下:
把produces的值改为 application/json;charset=utf-8 就好了,如果配置文件中配置charset=utf-8 ,防止出现乱码的话,其实这里的produces就可以直接去掉。
相关阅读
SSM框架中 出现的406 (Not Acceptable)
首先,需要清楚,http state 406代表什么意思:406是HTTP协议状态码的一种,表示无法使用请求的特性来响应请求的网页。一般指客户端浏览
0x0040625a指令引用的0x00000000内存.该内存不能为rea
今天在重新装完电脑后提示0x0040625a指令引用的0x00000000内存.该内存不能为read,郁闷死,这是什么意思?要如何解决?下面就为大家带来7
错误1406 无法将数值写入键/Software/Classess/.htm/O
通过网络的发达我不断地努力,今天终于解决了这个问题 错误1406.无法将数值写入键/Software/Classess/.htm/OpenWithList/devenv