我正在尝试将文件发送到服务器以进行一些处理。使用以下代码完全正常:
var formData = new FormData();
formData.append('file', $('#fileUpload')[0].files[0]);
options = JSON.stringify(options); // {"key": "value"}
$.ajax({
url: "url",
type: "POST",
data: formData,
processData: false,
contentType: false,
success: function (data) {
},
error: function (msg) {
showMsg("error", msg.statusText + ". Press F12 for details");
console.log(msg);
}
});
但是,我要做的不仅是发送FormData而且还发送一个json对象。我想尝试做类似下面的事情:
var formData = new FormData();
formData.append('file', $('#fileUpload')[0].files[0]);
options = JSON.stringify(options); // {"key": "value"}
$.ajax({
url: "url",
type: "POST",
data: { "formData": formData, "options": options },
//dataType: "json",
//processData: false,
//contentType: false,
success: function (data) {
},
error: function (msg) {
showMsg("error", msg.statusText + ". Press F12 for details");
console.log(msg);
}
});
当我这样做时,我收到未捕获的TypeError非法调用的错误消息。根据我的研究,我找不到任何像这样发送表单数据的示例。这是否需要重新构建是否有其他方法将json对象与表单数据一起发送?
答案 0 :(得分:1)
将JSON对象findstr
附加到FormData上。
!