SpringMVC+ajax
ajax请求一直进error方法,报406 Not Acceptable 采用原始的处理方式
首先我检查了是否是包没导入,发现不少包,然后配置文件中也配置了,
请求进了后台也不抛异常,看似一切正常,在浏览器中断点发现406 Not Acceptable 这个错误。
后面又检查了是否是编码等问题,这个错误还是未处理,
由于时间比较急,后面我果断换了一种返回方式,问题解决。
请求一直出错,406 Not Acceptable
一直进的是 error 方法
//前台代码
$.ajax({
url:'${rc.contextPath}/user/demo/add',
type:"POST",
dataType: 'text',
data: {
},success: function(data){
if(data=="200"){
zzrw.alert("添加成功!");
window.location.href = "${rc.contextPath}/user/demo/list";
}else{
zzrw.alert("添加失败!");
}
},error: function() {
zzrw.alert("添加异常!");
}
});
//后台代码
@RequestMapping(value = "/demo/add", method = RequestMethod.POST)
@ResponseBody
public String addMyOrder(Model model,HttpServletRequest request,HttpServletResponse response) {
//===中间代码省略,中间处理没一切正常
//我试过注释掉中间所有代码直接返回,还是一样
return "200";
}
修改了下后台的返回方式如下
//后台代码
@RequestMapping(value = "/demo/add", method = RequestMethod.POST)
public void addMyOrder(Model model,HttpServletRequest request,HttpServletResponse response) {
writeResponse("200", response);//该方法调用如下
}
/**
* 为response提供Json格式的返回数据
*/
public void writeResponse(Object obj, HttpServletResponse response) {
try {
response.setContentType("text/html;charset=utf-8");//设置编码
String str = JSON.toJSONString(obj);
PrintWriter writer = response.getWriter();
writer.write(str);
writer.flush();
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}