背景:在开发中经常遇到前后端传值出现问题的情况,在此将这些情况进行汇总以便梳理传值的多种用法,方便以后查阅。
一、Get传值
1、传递两个参数
前端ajax: 传递两个参数,分别为Long relEntrance、String dataId
$.ajax({
type: "GET",
url: "/formdata/get/one",
contentType: "application/json; charset=utf-8",
data: { relEntrance: '123', dataId: dataId },
async: false,
success: function (data) {
console.dir(data);
globalUtil.closeLoading();
return data;
},
error: function (meg) {
globalUtil.showErrorMessage(meg.responseText);
globalUtil.closeLoading();
}
});
后端Controller接收:
@GetMapping("/get/one")
@ApiOperation("查看某一条业务数据详情")
public ResponseEntity<FormDataResult> getFormDataResult(Long relEntrance, String dataId) {
FormDataResult result = this.service.getFormData(relEntrance, dataId);
return ResponseEntity.ok(result);
}
二、Post传值
1、传递的值为对象
前端ajax: 此处的参数idList为数组对象
$.ajax({
type: "POST",
url: "form/version/versionParam",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(idList),
async: false,
success: function (message) {
},
error: function (meg) {
alert("出错了!");
}
});
后端controller接收:
@PostMapping("versionParam")
@ResponseBody
public List<FormVersionNumParam> getVersionParam(@RequestBody List<Long> idList){
return null;
}
2、传递的值为一个参数,如id:1111111111
前端传值:其中rowId为变量,代表id的值1111111111
$.ajax({
type: "POST",
url: "form/version/setMainVersion",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(rowId),
async: true,
success: function (message) {
},
error: function (meg) {
}
});
后端controller接收:
@PostMapping("setMainVersion")
@ResponseBody
public String setMainVersion(@RequestBody Long id){
service.setMainVersion(id);
return OK;
}