当前位置: 首页 > 知识库问答 >
问题:

如何在spring MVC中将JSON对象从ajax传递到控制器?

呼延永新
2023-03-14
function createJSON() {
    jsonObj = [];
    item = {};
    $(".values").each(function() {

        var code = $(this).attr('id');
        item[code] = $('#' + code).val();
    });

    var content=JSON.stringify(item)


    $.ajax({
        type: 'POST',
        contentType : 'application/json; charset=utf-8',
        url: "/pms/season/submit", 
        data: content,
        dataType: "json",
        success : function(data) {  
            alert(response);   
        },  
        error : function(e) {  
            alert('Error: ' + e);   
        }  
    });                                                         
}

我的控制器代码:

@RequestMapping(value = "/submit", method = RequestMethod.POST)
public void saveNewUsers( @RequestParam ("json") String json) {
    System.out.println( "json  ::::"+json );
}   

但不管用。

共有1个答案

鄢松
2023-03-14

@requestparam(“json”)表示您打算在URI中包含一个名为json的请求参数,即/submit?json=······

我认为您打算获得请求正文,即@requestbody。

然后我建议,除非您真的需要原始JSON字符串,否则请将@RequestBody转换为Java对象:

public void saveNewUsers(@RequestBody MyDto myDto) {
...
}

其中MyDto将具有与JSON类匹配的getter/setter和字段。

如果使用@RESTController而不是@controller注释控制器,则可以省略@RequestBody注释。

 类似资料:
  • 问题内容: 我正在使用SpringMVC,我正在将数据从Ajax传递到控制器,但是我在控制器中得到了空值,请检查下面的代码 MyControllerCode 任何人都可以帮助我 问题答案: 嘿享受下面的代码。 Javascript AJAX调用 弹簧控制器代码 以下搜索类如下 该类的优点是,将来可以根据需要向该类添加更多变量。 例如。 如果要实现排序功能。

  • 我正在尝试将对象从AJAX传递给Spring控制器。我基本上尝试了我在SO和大量其他在线资源上遇到的所有解决方案,但都无济于事。我不知道我做错了什么,所以我寻求您的帮助。我正在开发一个简单的网络商店,此时我想做的就是将登录值(用户名和密码)从html文件上的模态表单传递给控制器。这是我的代码:LoginCredentials.java 指数html(删除大部分引导的html部分) 我ndex.ht

  • 问题内容: 我想将一个对象传递给控制器​​,并在控制器中检索值。我定义如下: HTML代码: Javascript: 但是我无法在控制器中检索值。它越来越空。 问题答案: 尝试以下操作:-您正在传递对象数组,因此您应该执行HTTPPost而不是HttpGet(这将适用于通过查询字符串发送它的原始类型数组,例如int,strgin等列表)(请记住查询字符串的限制)。尝试使用HTTPPost

  • 我想将两个对象从thymeleaf表单传递到控制器。这是我的ThymileAF代码: 在表单中,除了这里实际提交的付款对象之外,我想将学生对象或id传递给我的控制器,因为任何付款都应该对应于特定的学生。我找了很多,直到现在才找到办法。 PaymentController方法,我希望在其中传递对象,因为我使用提交表单,所以无法在th:action中传递变量 请建议。我被困在这里了

  • 问题内容: 我正在使用.Net 4,MVC 3和jQuery v1.5做一些工作 我有一个JSON对象,它可以根据调用它的页面而改变。我想将对象传递给控制器​​。 我了解如果我创建一个自定义模型,例如 并在我的控制器中使用它,例如 并使用jQuery的.ajax方法传递对象,如下所示: 这工作正常,我的JSON对象已映射到我的C#对象。我想做的是通过一个可能更改的JSON对象。当它更改时,我不需要

  • 我继续并在内部的方法中执行一些逻辑。 我尝试在url中传递object,重定向到另一个页面,并显示关于person的信息,但面对的是。