前后端数据交互,关于表单数据传输问题

发布于:2025-07-21 ⋅ 阅读:(19) ⋅ 点赞:(0)

表单提交

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-Type
            success: 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;

网站公告

今日签到

点亮在社区的每一天
去签到