我正在尝试使用jquery ajax(在IE 11中)上传文件,并且它因服务器错误而崩溃。在开发者工具中>网络标签>如果我选择POST请求并转到Headers选项卡,我会看到“Content-Type:multipart / form-data”,而我 在标题中看不到边界值 。我尝试过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))
});
}
答案 0 :(得分:0)
我切换到jquery最新版本并修复了它。