我有以下jQuery ajax代码:
<script>
$(function() {
$("button").click(function() {
$.ajax({
url : "signin.html",
type : "post",
cache: false,
data : "userName=" +$("#userName").val()+ '&password='+$("#password").val(),
success : function(data) {
var obj = jQuery.parseJSON(data);
var msg = '<span>' + obj.message + '</span>';
$('#message').html(msg);
},
//EDIT
error: function(){
alert('Error in response...');
}
});
});
});
</script>
<div id="message"></div>
我有弹簧控制器,它发送消息作为我试图在消息框中打印的响应。我看到控制器处理了请求,但是来自控制器的消息没有显示在页面中。我在这里做错了什么?
public @ResponseBody ModelAndView loginUser(request attributes here){
isUserExisits = service.authenticateUser(userBO);
if (isUserExisits) {
model.addObject("message", "Login Success");
} else {
model.addObject("message", "Login Failed");
}}
编辑: - 我在'成功'之后添加了错误回调,并且调用了错误回调函数。
答案 0 :(得分:1)
您正在返回ModelAndView
对象并访问ModelAndView
类中不存在的属性。如果只需要显示一条消息,请将返回类型更改为String
。
public @ResponseBody String loginUser(request attributes here){
isUserExisits = service.authenticateUser(userBO);
if (isUserExisits) {
return "Login Success";
} else {
return "Login Failed";
}}
和在网页上,您可以直接使用它。
$(function() {
$("button").click(function() {
$.ajax({
url : "signin.html",
type : "post",
cache: false,
data : "userName=" +$("#userName").val()+ '&password='+$("#password").val(),
success : function(data) {
var msg = '<span>' + data + '</span>';
$('#message').html(msg);
}
});
});
});