如何使用Ajax将JSON对象发送到Java控制器?

时间:2018-07-30 06:39:21

标签: java json ajax spring httprequest

我想将js对象发送到Java控制器并使用@RequestParam注释进行接收。

JavaScript

(function(){

    var testVO = {
        member1 : 'hello',
        member2 : 'world'
    }
    $.ajax({
        url : 'myurl.do',
        type : 'get',
        dataType : 'json',
        data : JSON.stringify({
            testVO : testVO
        }),
        success : function(data)
        {
            console.log(data);
        },
        error : function(error)
        {
            console.log(error);
        }
    });
})();

Java控制器

@RequestMapping("myurl.do")
@ResponseBody
public Object test3(@RequestBody TestVO testVO)
{
    return testVO;
}

Java TestVO类

public class TestVO
{
    private String member1;
    private String member2;

    public String getMember1()
    {
        return member1;
    }

    public void setMember1(String member1)
    {
        this.member1 = member1;
    }

    public String getMember2()
    {
        return member2;
    }

    public void setMember2(String member2)
    {
        this.member2 = member2;
    }

    public MMMooVO getMamamoo()
    {
        return mamamoo;
    }
}

我想将js对象映射到Java对象。 例如,js的testVO对象到带注释的Java的TestVO对象。 如何将控制器的注释设置为地图?

@RequestParam(“ testVO”)和@RequestBody中正确的是什么? 我很困惑。...请帮助。

1 个答案:

答案 0 :(得分:1)

我想将数据发送到服务器,我们建议使用POST而不获取ajax请求

GET主要用于从服务器获取数据。

@RequestBody批注将HttpRequest主体映射到传输对象或域对象。

HTTP GET没有请求正文,它在标头或URLparams中发送数据