axios 对象 配置参数、params和data参数区别 作者:马育民 • 2022-03-08 11:51 • 阅读:10403 # 说明 axios的完整写法 中文文档说明: http://www.axios-js.com/zh-cn/docs/#axios-API # 发get请求 ``` axios('/user/12345'); ``` # 发post请求 ``` // 发送 POST 请求 axios({ method: 'post', url: '/user/12345', data: { firstName: 'Fred', lastName: 'Flintstone' } }); ``` # 常用配置参数 ``` { // `url` 是用于请求的服务器 URL url: '/user', // `method` 是创建请求时使用的方法 method: 'get', // default // `params` 是即将与请求一起发送的 URL 参数 // 必须是一个无格式对象(plain object)或 URLSearchParams 对象 params: { ID: 12345 }, // `data` 是作为请求主体被发送的数据 // 只适用于这些请求方法 'PUT', 'POST', 和 'PATCH' // springmvc需要用 @RequestBody 注解接收参数 data: { firstName: 'Fred' }, } ``` # params 与 data 区别 - `params`:是url参数,拼接在url的后面。是一个无格式 json 对象或 URLSearchParams 对象 - `data`:请求主体被发送的数据,是 json 对象。springmvc需要用 `@RequestBody` 注解接收参数 # 其他参数 ``` { // `baseURL` 将自动加在 `url` 前面,除非 `url` 是一个绝对 URL。 // 它可以通过设置一个 `baseURL` 便于为 axios 实例的方法传递相对 URL baseURL: 'https://some-domain.com/api/', // `headers` 是即将被发送的自定义请求头 headers: {'X-Requested-With': 'XMLHttpRequest'}, // `timeout` 指定请求超时的毫秒数(0 表示无超时时间) // 如果请求话费了超过 `timeout` 的时间,请求将被中断 timeout: 1000, // `withCredentials` 表示跨域请求时是否需要使用凭证 withCredentials: false, // default // `responseType` 表示服务器响应的数据类型,可以是 'arraybuffer', 'blob', 'document', 'json', 'text', 'stream' responseType: 'json', // default // `responseEncoding` indicates encoding to use for decoding responses // Note: Ignored for `responseType` of 'stream' or client-side requests responseEncoding: 'utf8', // default } ``` 原文出处:http://malaoshi.top/show_1IX2uLW97N16.html