表單提交
var formData = new FormData();
// 添加每個事故ID作為單獨的參數
accidentIds.forEach(id => formData.append('accidentIds', id));
formData.append('status', statusText);
$.messager.confirm('確認', '確定要將事故記錄標記為' + statusText + '嗎?', function (r) {if (r) {// 模擬更新狀態$.ajax({url: 'TMSPROC0050/updateStatus',method: 'POST',data: formData,dataType: 'json',processData: false, // 禁用jQuery處理數據contentType: false, // 讓瀏覽器自動設置Content-Typesuccess: function (result) {$.messager.alert('成功', result.message, 'info');searchAccidents();},error: function(error) {console.error('請求發生錯誤:', error);$.messager.alert('錯誤', '操作失敗,請重試', 'error');}});}
});
這是一個自定義表單,自定義表單必須要添加
processData: false, // 禁用jQuery處理數據
contentType: false, // 讓瀏覽器自動設置Content-Type
如果你不加,jQuery會幫你處理,到時候又是名稱不對比如明明是個數組accidentids,這是你定義的名稱,但是他會幫你處理成一個?accidentids[],這樣名稱就對不上了
他所對應的后端應該是
@ResponseBody@RequestMapping(value = "/TMSPROC0050/updateStatus", method = RequestMethod.POST)public Map<String, Object> updateStatus(ReceiveUpdateStatusBo request ){UserValueObject loginObject = getLoginObject();return tMSPROC0050Service.updateStatus(request,loginObject);}
實體類字段
private String[] accidentIds;private String status;