javascript - Internet Explorer 11 不会每次都将 content-type 设置为 multipart/form-data
问题描述
我的应用程序需要将 FormData 对象发送到我的后端控制器。因此,我在前端服务中创建了一个 FormData 对象并附加了一些字段。它适用于 Firefox 和 Chrome,但不适用于 IE11。我Content-type: undefined
按照某些线程中的建议在末尾设置并添加了一个纯文本字段,但它不起作用。
service.SaveMyDatas = function(myDatas) {
var formData = new FormData();
var deferred = $q.defer();
formData.append("myField", angular.toJson(encodeURIComponent(JSON.stringify(myDatas))));
formData.append('onefield', 'test');
$http({
method: 'POST',
url: appServer + '/controllerBackEnd',
respondType: 'json',
headers: { 'Content-Type': undefined },
data : formData
}).then(function (response) {
if (response.status == 200) {
// .......
}, function(response) {
deferred.reject(response);
});
return deferred.promise;
}
有时它可以工作(1 / 1000 个请求,不知道为什么),但大多数时候标头Content-type
从未设置为multipart/form-data
, 只有plain/text
. 如果我将 Blob 字段附加到 formData IE 设置正确的标头但正文请求为空。
如何强制 IE11 设置正确的标题?
解决方案
推荐阅读
- spring - JPA,Hibernate:在现有的工作 DTO 中添加新变量时“无法在类上找到适当的构造函数”
- sql - 使用 python3 执行 .sql 脚本
- python - 如何将 N 个二维数组堆叠在一起作为图像
- c# - AWS S3:通过 Content-Disposition 标头而不是对象键前缀使用一组覆盖文件下载名称
- c# - 在 C# 库中使用 Serilog 和 appsettings.json - .NET Core Standard
- apache-flink - Flink AvroDeserializationSchema for specificRecord -- 使用泛型类类型
- java - 与外键约束作斗争
- visual-studio - 基础知识:在 groovy 中导入类
- javascript - Webpack 抱怨 typescript 定义文件导入 - 除非我添加 `d.ts` 结尾
- go - go-grpc 返回 TLS 错误“无法识别的名称”