java - Spring 3.1,JSON响应ModelAndView

标签 java json spring response partial-views

这是我的第一篇文章。我很抱歉我的英语...

我在使用 postJSON 和使用 ModelAndView 返回部分 View 时遇到问题。

我的 Controller :

    @RequestMapping(method=RequestMethod.POST, value = "/addUrl.html")
public @ResponseBody ModelAndView addSubMenu(@RequestBody Menu menu) {
    ModelAndView mav = new ModelAndView(PathConfig.MENU_DIR + "show_url");

    int id = menuService.saveOrUpdateMenu(1, menu.getTitle(), menu.getUrl(), 4, "pl");
    mav.addObject("submenu", menuService.get(id));
    return mav;
}

我的ajax代码:

$("#menuUrl").submit(function(){
    var menu = $(this).serializeObject();

    $.ajax({
        type: "POST",
        url: config.resourcePath+"/addUrl.html",
        data: JSON.stringify(menu),
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        success: function(response){
            $( "#site" ).append(response);
        },
        error: function(e){
            alert("Server did not response.");
        }
    });

});

但是...我有错误:服务器没有响应...

如何使用 json 渲染部分 View ?

谢谢。

最佳答案

这里可能有一些错误:

通过指定 application/jsonContent-type header ,您期望返回 json 的响应,但是看看您处理响应的方式,它看起来像你想要的是一个 html

如果您要查找的响应是 html,则从请求中删除 Content-Type header ,从 ModelAndView 响应中删除 @ResponseBody 注释,而不是只需返回一个指向普通 jsp 的 View ,该 jsp 可以创建您期望的 html 响应..

@RequestMapping(method=RequestMethod.POST, value = "/addUrl.html")
public ModelAndView addSubMenu(@RequestBody Menu menu) {
...
}

关于java - Spring 3.1,JSON响应ModelAndView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13810004/

相关文章:

java - 为什么我的按钮没有出现在我的 JPanel 上 - Java

arrays - 获取 JSON 数组内的 UICollectionView 单元格 ID 并将其设为全局

java - 如何从 javax.servlet.filter doFilter 方法返回 JSON 响应消息和 HTTP 错误代码?

json - Play JSON可选转换器

java - 将状态传递给 CDI 容器管理的 bean

java - 如何在 Spring Security 中关闭 HTTP session 超时?

java - jSTL 显示嵌套对象数据

java - 带有类路径的 Spring Boot 可执行 Jar

java - 我的 pom 文件中的 Spring 依赖错误

java - 如何在Java中查找与最大值相关的键