一. Map 传递和接收
前端ajax写法:
错误写法
var submitMap=function () {
var params={};
params['aa']="aa";
params['bb']="bb";
$.ajax({
url:"/acceptMap",
data:{params:params},
success:function (result) {
console.log(result);//传入后台的值key和value 对应为 {params[aa]=aa, params[bb]=bb}
}
});
};
正确写法
var submitMap2=function () {
var params1={};
params1['aa']="aa";
params1['bb']="bb";
$.ajax({
url:"/acceptMap",
data:params1,
success:function (result) {
console.log(result);//传入后台的值key和value 对应为 {aa=aa, bb=bb}
}
});
};
var submitMap3=function () {
$.ajax({
url:"/acceptMap",
data:{aa:"aa1",bb:"bb1"},
success:function (result) {
console.log(result);//传入后台的值key和value 对应为 {aa=aa1, bb=bb1}
}
});
};
var submitMap4=function () {
$.ajax({
url:"/acceptMap",
data:{"aa":"aa2","bb":"bb2"},
success:function (result) {
console.log(result);//传入后台的值key和value 对应为 {aa=aa2, bb=bb2}
}
});
};
后端接收方式:
@RequestMapping("/acceptMap")
public String acceptMap(@RequestParam Map<String,String> params){}
二. 对象传递和接收
前端传递方式
错误写法
var submitObject3=function () {
var params={};
params['name']="aa2";
params['age']="13";
$.ajax({
url:"/acceptObject",
data:{person:params},
success:function (result) {
console.log(result);
}
});
}
正确写法
var submitObject=function () {
$.ajax({
url:"/acceptObject",
data:{name:"aa",age:12},
success:function (result) {
console.log(result);
}
});
}
var submitObject1=function () {
$.ajax({
url:"/acceptObject",
data:{"name":"aa1","age":13},
success:function (result) {
console.log(result);
}
});
}
var submitObject2=function () {
var params={};
params['name']="aa2";
params['age']="13";
$.ajax({
url:"/acceptObject",
data:params,
success:function (result) {
console.log(result);
}
});
}
后端接收
@RequestMapping("/acceptObject")
public String acceptObject(Person person){}
三. list 传递和接收
方式一:
前端
/**
* 该方法只支持POST请求
*/
var submitList=function () {
var list=[];
list.push("aa");
list.push("bb");
$.ajax({
url:"/acceptList",
dataType:"JSON",
contentType:"application/json",
type:"POST",
data:JSON.stringify(list),
success:function (result) {
console.log(result);
}
});
}
后端
/**
* 参数是一个List的时候
* @param strList
* @return
*/
@RequestMapping("/acceptList")
@ResponseBody
public String acceptList(@RequestBody List<String> strList){
System.out.println(strList.toString());
return strList.toString();
}
方式二:
前端
var submitList1=function () {
var list=[];
list.push("aa1");
list.push("bb1");
$.ajax({
url:"/acceptList1",
data:{datas:list},//或者使用data:{"datas[]":list}
success:function (result) {
console.log(result);
}
});
}
后端
/**
* 这里的@RequestParam("datas[]") 中必须有[]
* @param strList
* @return
*/
@RequestMapping("/acceptList1")
@ResponseBody
public String acceptList1(@RequestParam("datas[]") List<String> strList){
System.out.println(strList.toString());
return strList.toString();
}
方式三(推荐):
前端
var submitList2=function () {
var list=[];
list.push("aa3");
list.push("bb3");
$.ajax({
url:"/acceptList2",
data:{datas:list.join()},
success:function (result) {
console.log(result);
}
});
}
后端
@RequestMapping("/acceptList2")
@ResponseBody
public String acceptList2(@RequestParam("datas") List<String> strList){
System.out.println(strList.toString());
return strList.toString();
}