从浏览器传输数据时,Axios 自动处理某些请求正文格式并设置适当的 Content-Type 标头。如果您想以 multipart/form-data 形式发送数据并手动配置 Content-Type 标头,您可以通过传递 FormData 实例作为请求正文来实现。 axios会自动将header设置为multipart/form-data; boundary=${form._boundary}.
<code class="javascript">import axios from 'axios'; const form = new FormData(); form.append('email', 'user@example.com'); form.append('password', 'secretpassword'); axios.post('user/login', form) .then((response) => { // Handle response }) .catch((error) => { // Handle error });</code>
在 Node.js 中使用 Axios 时,它不会自动从 FormData 推断出 Content-Type 标头实例。要解决此问题,您可以使用请求拦截器。
<code class="javascript">axios.interceptors.request.use((config) => { if (config.data instanceof FormData) { Object.assign(config.headers, config.data.getHeaders()); } return config; }, null, { synchronous: true });</code>
或者,您可以在发出请求时手动合并标头。
<code class="javascript">axios.post('user/login', body, { headers: { 'X-Any-Other-Headers': 'value', ...body.getHeaders(), }, });</code>
总之,通过使用 FormData 实例并适当配置请求选项,您可以将数据从 loginService.js 传递到 Services/index.js 并无缝处理多部分/表单数据请求。
以上是如何使用FormData将数据传递到axios中的服务?的详细内容。更多信息请关注PHP中文网其他相关文章!