1

我有以下 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");
            }}

编辑:-我在“成功”之后添加了错误回调,并且正在调用错误回调函数。

4

1 回答 1

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);
                }
            });
        });
    });
于 2013-10-10T06:49:10.617 回答