首页  >  文章  >  web前端  >  如何使用 Axios 将 FormData 传递到 Angular 中的服务?

如何使用 Axios 将 FormData 传递到 Angular 中的服务?

Linda Hamilton
Linda Hamilton原创
2024-11-03 22:25:30241浏览

How to Pass FormData to a Service in Angular Using Axios?

将数据传递到 Axios 中的服务

问题:

在 Angular 应用程序中,您有一个表单需要使用 Axios 提交到服务,并且您希望将 _boundary 标头设置为表单的值_边界属性。但是,您无法从 Axios 实例内部访问表单数据。

解决方案:

默认情况下,Axios 会自动为某些请求设置 Content-Type 标头正文格式,包括 FormData。当您传递 FormData 实例作为请求正文时,Axios 会自动将 Content-Type 标头设置为 multipart/form-data 并为您处理 mime 边界令牌。

以下是代码中要遵循的步骤:

  1. 将表单数据发送到您的组件:
<code class="js">//component.js

const form = new FormData();

form.append('email', '[email protected]')
form.append('password', '12121212')

dispatch(FetchLogin.action(form))</code>
  1. 在您的服务中准备 API 调用:
<code class="js">//loginService.js

import api from '@/Services'

export default async form => {
  const response = await api.post('user/login/', form)
  return response.data
}</code>
  1. 在您的 Axios 中使用服务instance:
<code class="js">//Services/index.js

import axios from 'axios'
import { Config } from '@/Config'

const instance =  axios.create({
  baseURL: Config.API_URL,
})

instance.post('fetch-login', { form })</code>

通过将表单对象作为请求正文负载中的表单属性传递,Axios 将自动处理 Content-Type 标头并将其设置为 multipart/form-data使用适当的哑剧边界标记。您不需要直接访问 form._boundary 属性。

以上是如何使用 Axios 将 FormData 传递到 Angular 中的服务?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn