javascript - 如何将 enctype 属性添加到 FormData() 对象?

标签 javascript ajax xmlhttprequest

如何向 FormData() 对象添加 enctype 属性?

我正在构建一个发送数据和文件的 FormData() 对象。但是,尽管向 xhr 请求添加了 Content-Type header ,但服务器无法找到该 Post。

我添加了 Content-Type 属性:

xhr.open('POST','/post/to/url', true );
xhr.setRequestHeader('Content-Type', 'multipart/form-data');

我最终只是创建了一个 enctype 属性等于 multipart/form-data 的标签,然后从该元素构造了 FormData 对象。

有什么我想念的吗?我宁愿不必从 DOM 元素构造 FormData 对象。

谢谢

最佳答案

使用 FormData 时不需要设置内容类型,它会在您发出 ajax 请求时自动设置。
如果您像您一样手动设置边界,则不会设置边界,服务器将无法解码请求。

关于javascript - 如何将 enctype 属性添加到 FormData() 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37015995/

相关文章:

javascript - Ajax 和就绪状态

php - 调用 "exit"后如何执行剩余的 php 代码?

javascript - Backbone 路由器忽略搜索路由

ajax - 如何在ajax和laravel中传递数组和其他字段

javascript - 有没有一种方法可以判断它是 native react 还是网络 react ?

javascript - JQuery FormData ajax 文件上传不工作

javascript - POSTing 数据后显示动态创建的 php 图像

javascript - 从外部 javascript 文件调用 C# 逻辑

javascript - 单击后更改图像,但将其他选项卡重置为初始图像javascript

javascript - JavaScript 中的 isDev 是什么?