我有这个问题GET http://localhost:8080/yous/ajaxtest 406 (Inacceptable)
我的脚本使用ajax来处理登录表单:
function ajaxtest() {
$.ajax({
url : 'ajaxtest',
success : function(responce) {
if(responce)
$('#formlogin').submit();
else
$('#errorlogin').html("Le nom d'utilisateur ou le mot de passe saisi est incorrect.");
}
});
}
我的控制器:
@RequestMapping(value = "/ajaxtest")
public @ResponseBody
boolean ajaxtest(@ModelAttribute(value="auth") Auth auth) {
List<Auth> listlogin = authDao.findByProperty("login", auth.getLogin(), "pwd", auth.getPwd());
if(listlogin.size() == 1)
return true;
return false;
}
另一个问题我是ajax的新手,我听到很多JSON发送请求是他处理ajax的最佳方法吗?
答案 0 :(得分:0)
当您的处理程序方法使用@ResponseBody
进行注释时,Spring通常会生成一个JSON响应正文,将响应content-type
设置为application/json
。如果您的请求中没有该媒体类型的Accept
标头,Spring将认为响应不可接受并返回406错误代码。
您需要在ajax请求中指定Accept
标头
headers: {
Accept : "application/json"
}
使用适当的媒体类型。
答案 1 :(得分:0)
我只是添加了这个依赖项,它起作用了:)
<!-- Jackson JSON Mapper -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
答案 2 :(得分:0)
当我使用GET方法发送地址电子邮件时,我遇到了同样的问题。我使用POST方法解决了我的问题