【问题标题】:Spring-MVC Jackson not reading the JSON Object from JQuerySpring-MVC Jackson 没有从 JQuery 读取 JSON 对象
【发布时间】:2012-03-03 13:02:18
【问题描述】:

使用 Jackson 我可以将对象转换为 JSON

@RequestMapping(value="getMessage.test", headers = "Accept=application/json" ,method = RequestMethod.POST)
    public @ResponseBody TestObject getMessage(){
        TestObject object=new TestObject();
        object.setMessage("Hello JQuery");
        return object;
    }

上面的代码运行良好...但是从 JSON 到 Object 的转换给出 警告 PageNotFound - No matching handler method found for servlet request: path '/setMessage.test', method 'POST', parameters map[[ empty]] 下面是代码。我哪里出错了..

@RequestMapping(value="setMessage.test", method = RequestMethod.POST, headers = "Accept=application/json"  )
    public void setMessage(@RequestBody TestObject test,HttpServletRequest request){
        System.out.println("Inside setting message");
        System.out.println(test.getMessage());
    }

JQuery Ajax 调用...

 $.ajaxSetup({   contentType: "application/json; charset=UTF-8" }); 

    $.post('getMessage.test',function(response) {  
        alert(response.message);
           }, 'json');  

    $.post( 'setMessage.test', {message: 'Hello Spring'});

【问题讨论】:

  • 如果我使用回调函数 $.post( 'setMessage.test', {message: 'Hello Spring'},function(response) { alert(response.message); }, 'json ');但我得到 org.springframework.http.converter.HttpMessageNotReadableException:无法读取 JSON:意外字符('m'(代码 109)):预期有效值(数字、字符串、数组、对象、'true'、'false'或 'null') 发送的不是有效的 JSON?
  • 你试过{"message": "Hello Spring"} insted of {message: "Hello Spring"} 吗?

标签: jquery json spring-mvc jackson


【解决方案1】:

最后我得到了修复。 JQuery $.post 方法中有一个错误,它没有设置正确的内容类型。所以在 ajaxsetup 中设置 contenttype 效果很好......我使用 jquery.json-2.3.min.js 来创建一个 json 对象......

$.ajaxSetup({   
           contentType: "application/json; charset=UTF-8"
    }); 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-18
    • 2016-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多