【发布时间】:2017-03-21 20:27:19
【问题描述】:
我正在尝试使用 jquery ajax(在 IE 11 中)上传文件,但由于服务器错误而失败。在开发人员工具 > 网络选项卡 > 中,如果我选择 POST 请求并转到标题选项卡,我会看到“Content-Type: multipart/form-data”并且我 在标题中看不到边界值 em>。我试过 contentType: undefined 和 contentType: false 都不起作用。如果这很重要,我正在使用 jquery-1.11.0。这是我的代码示例。我对所有这些都很陌生,我一定在这里遗漏了一些东西。
HTML:
<form id="example-form" enctype= "multipart/form-data">
file.type.id:
<input type="text" name="file.type.id" value="3P">
<br>
file.title:
<input type="text" name="file.title" value="My File">
<br>
file.edition:
<input type="text" name="file.edition" value="1">
<br>
file.format:
<input type="text" name="file.format" value="txt">
<br>
<input type="file" name="fileContent" id="fileu">
<input type="submit" value="Submit" >
</form>
js
function apicall(type, apiUrl, data, userID, contentType, dataType) {
var request = jQuery.ajax({
type: type,
url: apiUrl,
headers: { 'user_Id': userID},
dataType: dataType,
contentType: undefined,
processData: false,
data: data
});
return request;
}
function upload() {
var formData = new FormData($('#example-form')[0]);
var type = "POST";
var url = "<post url>";
//var contentType = "multipart/form-data";
var contentType = undefined;
var dataType = "json";
var userId = "<unique User ID>";
var fileUpload = apicall(type, url, formData, userId, contentType, dataType);
$.when(fileUpload).done(function (data, status, jqXHR) {
alert("hoho" + JSON.stringify(data));
}).fail(function (jqXHR, textStatus) {
alert("err: " + JSON.stringify(jqXHR))
});
}
【问题讨论】:
标签: jquery ajax file-upload