我是 AJAX 新手,我正在努力將物件傳遞給控制器??。
我試過這個:
$(document).ready(function(){
$('#mov').click(function(){
var dni = parseInt($('#dni').val());
var table = $('#tablaSeleccionados').tableToJSON();
$.ajax({
type:'POST',
url:'${pageContext.request.contextPath}/saveMovBienes',
data: {dni:dni,table:table},
dataType: "json"
})
})
})
控制器
@PostMapping("/saveMovBienes")
public String saveMovBienes(@RequestParam(name="dni", required=false) Integer dni,
@RequestParam(name="table", required=false) String listado) {
System.out.println("PER_ID= " dni);
System.out.println("LIST= " listado);
return "";
}
嘗試將“listado”的格式更改為 List 、 Json 、 String ,什么都沒有...
如果我將 "toString()" 添加到我的 var 表中,我會看到控制器中的元素,但像這樣:'object [Object]', 'object [Object]'
任何指導將不勝感激。
uj5u.com熱心網友回復:
您可能希望在請求正文中將資料作為 JSON 發送,因為您正在創建一個POST請求:
$.ajax({
type: 'POST',
url: ...,
data: JSON.stringify({ dni: dni, table: table }),
dataType: "json",
contentType: 'application/json; charset=utf-8',
})
在后端,您可以使用 hava a@RestController來接收資料傳輸物件 (DTO) 中的資料,該物件帶有@RequestBody.
首先,您必須為請求正文創建一個 DTO:
public class MyRequest {
private String dni;
private String table;
// Getters and setters
}
現在,您可以創建其余控制器:
@RestController
public class MyController {
@PostMapping("/saveMovBienes")
public String saveMovBienes(@RequestBody MyRequest request) {
System.out.println("PER_ID= " request.getDni());
...
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/368440.html
