首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ajax中返回ModelAndView

在ajax中返回ModelAndView
EN

Stack Overflow用户
提问于 2013-11-14 11:18:23
回答 1查看 22.1K关注 0票数 8

嗨,我正在使用spring + ajax。我通过传递一个userid进行了ajax调用。一切顺利,成功地返回到ajax中,但当我提醒响应时,它只需简单地显示html页面代码。请帮我把这个问题弄清楚。我想我没有用正确的方式编码ajax well.Help me

控制器代码:

代码语言:javascript
复制
  public @ResponseBody ModelAndView abc(HttpServletRequest httpServletRequest,
        HttpSession session, ModelMap map){

      ModelAndView modelAndView = new ModelAndView("abcd.page",
                "commandName", object);
           return modelAndView;

Ajax代码:

代码语言:javascript
复制
     $(".userDetails").click(function() {
            alert("clicked");
        var userId=$(this).parent().parent(). parent().find(".userId"). 
                       text().trim();
            alert("userId :"+userId);
            $.ajax({

            url : 'ABC.htm',
            type : 'GET',
            data: {userId:userId},
            beforeSend: function(xhr) {  
                xhr.setRequestHeader("Accept", "application/json");  
                xhr.setRequestHeader("Content-Type", "application/json");  
            },  
            success : function(response) {
                alert("success");
                alert(response);
            },
            error : function(res) {
                alert("error");
            },

        });

            return false;
        });

警报(响应)的输出;是

编辑:可以告诉任何人为什么ajax在成功的时候给出html内容.经过多次修改后,我得到了相同的警报。

再次编辑:,我想我在控制器方面没有任何问题。请建议我正确编码ajax的解决方案。这里好像出错了。如何在ajax中获取ModelAndView对象

EN

回答 1

Stack Overflow用户

发布于 2013-11-14 13:52:51

在AJAX中没有得到一个ModelAndView对象。Spring使用HandlerMethodReturnValueHandler实例来处理处理程序方法的返回值。对于ModelAndView,它使用ModelAndViewResolverMethodReturnValueHandler。对于@ResponseBody,它使用RequestResponseBodyMethodProcessor。这些都是按特定顺序检查的,ModelAndView的优先顺序也更高。因此,当您返回一个ModelAndView时,Spring将将模型属性添加到完整的Model中,然后可能将视图名解析为jsp,并从该jsp写入响应,给出一些HTML。因为AJAX只看到来自请求的响应,所以它将看到HTML。

如果您想返回JSON,不要返回ModelAndView,直接返回模型对象,或者自己直接将JSON写入响应。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19976297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档