ajax上傳陣列物件,spring mvc接收不成功的解決辦法

會Coding的猴子發表於2018-12-21

陣列物件裡面又巢狀了java bean物件

ajax上傳陣列物件,spring mvc接收不成功的解決辦法
原先使用$.post()方法發現上傳不成功,後來發現需要自定義請求型別contentType,後來改為使用$.ajax()方法傳送請求.

$.ajax({
    // 請求路徑
    url: `${contextPath}report/user/batchDelete`,
    // 先將資料壓縮成字串,傳送到後臺
    data: JSON.stringify(data),
    // 檔案型別為json格式,關鍵是要重寫這一步
    contentType: 'application/json; charset=UTF-8',
    // post請求
    method: 'POST',
    // 請求成功後呼叫的方法
    success: function (res) {
        res = JSON.parse(res);
        if (res.status === 200) {
            // obj.del(); //刪除對應行(tr)的DOM結構,並更新快取
            table.reload('reportList', {
                page: obj.config.page.curr,
                where: {
                    recordTitle: searchWord
                }
            })
            layer.msg('批量刪除資料成功');
        } else if (res.status === 500) {
            // 失敗的情況
            layer.msg('批量刪除資料失敗');
        }
    }
})
複製程式碼

後臺spring mvc程式碼

@RequestMapping("/batchDelete")
@ResponseBody
public JSONObject batchDelete(@RequestBody List<Report> reports) {
    // 使用@RequestBody來表示接收的是一個物件
    System.out.println(reports);
    JSONObject results = new JSONObject();
    results.put(CommonVariable.RESPONSE_STATUS_NAME, reportService.deleteRecordBatchByRecordId(reports) >= reports.size() ? CommonVariable.RESPONSE_STATUS_SUCCESS : CommonVariable.RESPONSE_STATUS_ERROR);
    return results;
}
複製程式碼

相關文章