【问题标题】:Ajax Posting json to springMVC with ObjectNodeAjax 使用 ObjectNode 将 json 发布到 springMVC
【发布时间】:2014-06-07 05:09:18
【问题描述】:

我正在尝试开发 Spring MVC 应用程序。并在客户端使用 JQuery 将 Json 发布到 Web 服务 但我有这个错误:code 415 |不支持的媒体类型

jQuery部分:

jQuery.post(rootURL + "/json/deployWorkflow",JSON.stringify({ "command": "on" }), function(response) {
            console.log("ok........");
        })

java部分:

@RequestMapping(value = "/deployWorkflow" , method = RequestMethod.POST)
@ResponseBody
public void deployWorkflow(@RequestBody ObjectNode jsonData){
      System.out.println(jsonData.toString());
          }

【问题讨论】:

  • 尝试在 jQuery.post 中添加 dataType:"json" 并将控制器更改为 @RequestMapping(value = "/deployWorkflow" , method = RequestMethod.POST, accept="application/json")
  • 它不工作,我有同样的错误
  • org.codehaus.jackson.node.ObjectNode
  • 那行不通。尝试使用@RequestBody String jsonData 并手动处理反序列化
  • 这会给我带来很多问题,因为我已经准备了一个 ObjetNode 解析器,只是一点 RMQ:当我使用 jersy 时,它对我来说没有问题,但我需要 spring Mvc

标签: jquery spring-mvc jackson


【解决方案1】:

我找到了解决方案:

jQuery部分:

jQuery.ajax({
                type: 'POST',
                contentType : 'application/json; charset=utf-8',
                url: rootURL + "/json/deployWorkflow", 
                dataType: "json",
                data:x,
                async: false,
                success: function(data, textStatus, jqXHR){
                    alert('ok........data' + data );
                },
                error: function (jqXHR, textStatus, errorThrown) {
                    alert("error:  status: "+textStatus+" er:"+ errorThrown);
                }
            });

java部分:

@RequestMapping(value = "/deployWorkflow" , method = RequestMethod.POST,  headers="Accept=application/json")
    @ResponseBody
    public void deployWorkflow(@RequestBody ObjectNode jsonData){
          System.out.println(jsonData.toString());
         }

【讨论】:

    猜你喜欢
    • 2020-05-21
    • 2017-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-17
    • 1970-01-01
    • 2011-09-13
    相关资源
    最近更新 更多