- axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。
{
url: '',
method: 'get/post/put/patch', // 缺省时为get
baseURL: 'https://some-domain.com/api/',
// `baseURL` 将自动加在 `url` 前面,除非 `url` 是一个绝对 URL。
headers: {'X-Requested-With': 'XMLHttpRequest'},
// `headers` 是即将被发送的自定义请求头
params: {
ID: 12345
},// `params` 是即将与请求一起发送的 URL 参数
// 必须是一个无格式对象(plain object)或 URLSearchParams 对象
// `data` 是作为请求主体被发送的数据
// 只适用于这些请求方法 'PUT', 'POST', 和 'PATCH'
// 在没有设置 `transformRequest` 时,必须是以下类型之一:
// - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams
data: {
firstName: 'Fred'
},
// 如果请求话费了超过 `timeout` 的时间,请求将被中断
timeout: 1000,
// `transformRequest` 允许在向服务器发送前,修改请求数据
// 只能用在 'PUT', 'POST' 和 'PATCH' 这几个请求方法
// 后面数组中的函数必须返回一个字符串,或 ArrayBuffer,或 Stream
transformRequest: [function (data, headers) {
// 对 data 进行任意转换处理
return data;
}],
// `transformResponse` 在传递给 then/catch 前,允许修改响应数据
transformResponse: [function (data) {
// 对 data 进行任意转换处理
return data;
}],
//设置代理
proxy: {
host: '127.0.0.1',
port: 9000,
auth: {
username: 'mikeymike',
password: 'rapunz3l'
}
},
// `cancelToken` 指定用于取消请求的 cancel token
cancelToken: new CancelToken(function (cancel) {
})
}
axios.request(config)
//[]表示可选项
axios.get(url[, config])
axios.head(url[, config])
axios.post(url[, data[, config]])
axios.put(url[, data[, config]])
axios.patch(url[, data[, config]])
axios.delete(url[, config])
axios.options(url[, config])
http 请求类型
- GET :请求指定的页面信息,并返回实体主体。数据添加在URL尾部。
- HEAD:向服务器索要与GET请求相一致的响应,只返回相应头。
- POST:向指定资源提交数据进行请求(例如提交表单或者上传文件)。数据被包含在请求体中。
- PUT : 从客户端向服务器传送的数据取代指定的文档的内容。
- PATCH:实体中包含一个表,表中说明与该URI所表示的原内容的区别。
- DELETE:请求服务器删除Request-URI所标识的资源。
- OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法。
- TRACE:回显服务器收到的请求,主要用于测试或诊断。
常用的是get和post,其他请求方式也都可以通过这两种方式间接的来实现。
执行多个并发请求
function getUserAccount() {
return axios.get('/user/12345');
}
function getUserPermissions() {
return axios.get('/user/12345/permissions');
}
axios.all([getUserAccount(), getUserPermissions()])
.then(axios.spread(function (acct, perms) {
// 两个请求现在都执行完成
}));