0

我的 spring3.1 mvc 服务器可以通过 add 响应正确的 json 结果@ResponseBody,在 spring 设置文件上应该没有问题。包含的 servlet.xml

<mvc:annotation-driven/>

我把杰克逊罐子放在类路径中。

而且我的 html 文件还在 .ajaxSetup() 方法中将 contentType 设置为“application/json”。我可以看到帖子标题在 Firebug 中是正确的。

我还尝试包含 json2.js 来调用 JSON.stringify 方法。

json格式示例:

{"link":"http:xxxxx","ticker":"xxxxx"}

responseBody 类是 Document:

public class Document implements Serializable{
   public String getLink(){...}
   public String setLink(String link){...}
   public String getTicker(){...}
   public String setTicker(String ticker){...}
}

控制器代码:

public class LoadFile  {                                                                                                                                                                                                                                                                                                                                                                         

    @RequestMapping(value="/loadFile",method=RequestMethod.POST)                                                                                                                                                  
    public @ResponseBody Document loadFile(@RequestBody Document document){ 
        ...
    }
}

html代码:

$(function() {                                                                                                                                                                                                   
    $.ajaxSetup({                                                                                                                                                                                               
        contentType:"application/json;charset=utf-8" 
    });                                                                                                                                                       
    $.post( url, { link: link, ticker:ticker },                                                                                                                                            
        function( data ) {  
           ....
        },"json"
    );
}

Document 类在添加时可以作为 json 对象返回@ResponseBody,但作为 a 时@RequestBody,服务器返回 400 错误。不知道会发生什么。

4

2 回答 2

0

替换@RequestBody@ModelAttribute

于 2012-10-16T19:01:25.693 回答
0

我最近遇到了类似的问题。对我来说,它是在变量名周围添加“”,这给了我 400 错误。试试这样:

{link:"http:xxxxx",ticker:"xxxxx"}

还要确保你的变量对应于你的数据库,这取决于 Spring3.1 如何处理数据。(例如以正确的顺序)

我希望这对你有帮助。

于 2012-10-16T17:45:19.017 回答