前后端——json的传值与接收(springMvc)

前端传值:

通过将要传输的数据封装为json,然后再通过ajax接收:

JSON.stringify(data)

1

后端接收值只需要通过一句话即可实现:

@RequestBody String param

1

此处的param就是你所接收的值

具体如何解析:

JSONObject jo=new JSONObject();

List<Map> parseArray = jo.parseArray(param, Map.class);

System.out.println("parseArray="+parseArray);

1

2

3

只需要这几句话即可

下面举一个小demo:

前端:

$("#excelOutput").click(function(){

console.log("传出的数据="+JSON.stringify(excelData))

$.ajax({

url : "${App_Path}/excel",

data:JSON.stringify(excelData),

type : "post",

dataType: "json",

contentType: "application/json; charset=utf-8",//此处不能省略

success : function(data) {

alert("success")

},

error:function(){

alert("fail")

}

});

})

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

后端:

@ResponseBody

@RequestMapping(value = "/excel", method = RequestMethod.POST)

public Msg excel(@RequestBody String param) throws Exception {

System.out.println("param="+param);

JSONObject jo=new JSONObject();

List<Map> parseArray = jo.parseArray(param, Map.class);

System.out.println("parseArray="+parseArray);

for (Map map:parseArray) {

System.out.println("map="+map);

}

return null;

}

1

2

3

4

5

6

7

8

9

10

11

12

以上就是传值与接收值的具体情况,当然也可以封装一个bean对象,直接转为bean也行

下面继续拓展一个springMvc的知识,如果前端传值是通过这种方式:

$("#excelOutput").click(function(){

console.log("传出的数据="+JSON.stringify(excelData))

$.ajax({

url : "${App_Path}/excel/"+result,

data:JSON.stringify(excelData),

type : "post",

dataType: "json",

contentType: "application/json; charset=utf-8",//此处不能省略

success : function(data) {

alert("success")

},

error:function(){

alert("fail")

}

});

})

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

上面传了两个值,一个是result,一个是excelData,看后端怎么处理:

@ResponseBody

@RequestMapping(value = "/excel/{result}", method = RequestMethod.POST)

public Msg excel(@RequestBody String param,@PathVariable String result) throws Exception{

System.out.println("param="+param);

System.out.println("result="+result);//result就是url : "${App_Path}/excel/"+result中的result

JSONObject jo=new JSONObject();

List<Map> parseArray = jo.parseArray(param, Map.class);

System.out.println("parseArray="+parseArray);

for (Map map:parseArray) {

System.out.println("map="+map);

}

return null;

}

1

2

3

4

5

6

7

8

9

10

11

12

13

springMvc如何和前端页面交互,传输json数据

前后端——json的传值与接收(springMvc)

相关推荐