具有2个值的表单,并且为空

时间:2018-01-04 09:25:48

标签: javascript java jquery spring

我正在尝试使用ajax上传文件和表单数据。但我得到一个具有空值的formData对象。 我可以正确记录fileUpload对象,但我的formData日志是空的。

有人可以解释我的错误吗?

$(document).ready(function () {

    var formData = new FormData();
    $('#fileUpload').change(function () {
        formData.append('file',$('#fileUpload')[0].files[0]);
        console.log($('#fileUpload')[0].files[0]);
    });

    $('#btnSubmit').click(function (e) {
        e.preventDefault();
        formData.append('data',$('#creationForm')[0]);
        console.log(formData);
        $.ajax({
            type: 'post',
            url: '/upload/testCase',
            data: formData,
            processData: false,
            success: function (result) {},
            error: function () {}
        });
        return false;
    });
});

我想在Spring Controller中使用它们。

@RequestMapping(value = "/upload/testCase" , method = RequestMethod.POST)
public @ResponseBody String uploadTestCase(@RequestParam("data") String data, @RequestParam("file") MultipartFile file ) {
    //TestCases.upload(file);
    System.out.println(data + file);
    return "";
}

1 个答案:

答案 0 :(得分:0)

formData不为空,您只是正确检查它:

试试这个:

$('#fileUpload').change(function () {       
    formData.append('uploadedFile',$('#fileUpload')[0].files[0]);

    // inspect each key/value entry
    for (var data of formData.entries()) {
        console.log(data[0] + ', ' + data[1]); 
    }

});