# axios
[![npm version](https://img.shields.io/npm/v/axios.svg?style=flat-square)](https://www.npmjs.org/package/axios)
[![CDNJS](https://img.shields.io/cdnjs/v/axios.svg?style=flat-square)](https://cdnjs.com/libraries/axios)
[![build status](https://img.shields.io/travis/axios/axios/master.svg?style=flat-square)](https://travis-ci.org/axios/axios)
[![code coverage](https://img.shields.io/coveralls/mzabriskie/axios.svg?style=flat-square)](https://coveralls.io/r/mzabriskie/axios)
[![install size](https://packagephobia.now.sh/badge?p=axios)](https://packagephobia.now.sh/result?p=axios)
[![npm downloads](https://img.shields.io/npm/dm/axios.svg?style=flat-square)](http://npm-stat.com/charts.html?package=axios)
[![gitter chat](https://img.shields.io/gitter/room/mzabriskie/axios.svg?style=flat-square)](https://gitter.im/mzabriskie/axios)
[![code helpers](https://www.codetriage.com/axios/axios/badges/users.svg)](https://www.codetriage.com/axios/axios)
Promise based HTTP client for the browser and node.js
## Table of Contents
- [Features](#features)
- [Browser Support](#browser-support)
- [Installing](#installing)
- [Example](#example)
- [Axios API](#axios-api)
- [Request method aliases](#request-method-aliases)
- [Concurrency (Deprecated)](#concurrency-deprecated)
- [Creating an instance](#creating-an-instance)
- [Instance methods](#instance-methods)
- [Request Config](#request-config)
- [Response Schema](#response-schema)
- [Config Defaults](#config-defaults)
- [Global axios defaults](#global-axios-defaults)
- [Custom instance defaults](#custom-instance-defaults)
- [Config order of precedence](#config-order-of-precedence)
- [Interceptors](#interceptors)
- [Handling Errors](#handling-errors)
- [Cancellation](#cancellation)
- [Using application/x-www-form-urlencoded format](#using-applicationx-www-form-urlencoded-format)
- [Browser](#browser)
- [Node.js](#nodejs)
- [Query string](#query-string)
- [Form data](#form-data)
- [Semver](#semver)
- [Promises](#promises)
- [TypeScript](#typescript)
- [Resources](#resources)
- [Credits](#credits)
- [License](#license)
## Features
- Make [XMLHttpRequests](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) from the browser
- Make [http](http://nodejs.org/api/http.html) requests from node.js
- Supports the [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) API
- Intercept request and response
- Transform request and response data
- Cancel requests
- Automatic transforms for JSON data
- Client side support for protecting against [XSRF](http://en.wikipedia.org/wiki/Cross-site_request_forgery)
## Browser Support
![Chrome](https://raw.github.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png) | ![Firefox](https://raw.github.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png) | ![Safari](https://raw.github.com/alrra/browser-logos/master/src/safari/safari_48x48.png) | ![Opera](https://raw.github.com/alrra/browser-logos/master/src/opera/opera_48x48.png) | ![Edge](https://raw.github.com/alrra/browser-logos/master/src/edge/edge_48x48.png) | ![IE](https://raw.github.com/alrra/browser-logos/master/src/archive/internet-explorer_9-11/internet-explorer_9-11_48x48.png) |
--- | --- | --- | --- | --- | --- |
Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | 11 ✔ |
[![Browser Matrix](https://saucelabs.com/open_sauce/build_matrix/axios.svg)](https://saucelabs.com/u/axios)
## Installing
Using npm:
```bash
$ npm install axios
```
Using bower:
```bash
$ bower install axios
```
Using yarn:
```bash
$ yarn add axios
```
Using jsDelivr CDN:
```html
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
```
Using unpkg CDN:
```html
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
```
## Example
### note: CommonJS usage
In order to gain the TypeScript typings (for intellisense / autocomplete) while using CommonJS imports with `require()` use the following approach:
```js
const axios = require('axios').default;
// axios.<method> will now provide autocomplete and parameter typings
```
Performing a `GET` request
```js
const axios = require('axios');
// Make a request for a user with a given ID
axios.get('/user?ID=12345')
.then(function (response) {
// handle success
console.log(response);
})
.catch(function (error) {
// handle error
console.log(error);
})
.then(function () {
// always executed
});
// Optionally the request above could also be done as
axios.get('/user', {
params: {
ID: 12345
}
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
})
.then(function () {
// always executed
});
// Want to use async/await? Add the `async` keyword to your outer function/method.
async function getUser() {
try {
const response = await axios.get('/user?ID=12345');
console.log(response);
} catch (error) {
console.error(error);
}
}
```
> **NOTE:** `async/await` is part of ECMAScript 2017 and is not supported in Internet
> Explorer and older browsers, so use with caution.
Performing a `POST` request
```js
axios.post('/user', {
firstName: 'Fred',
lastName: 'Flintstone'
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
```
Performing multiple concurrent requests
```js
function getUserAccount() {
return axios.get('/user/12345');
}
function getUserPermissions() {
return axios.get('/user/12345/permissions');
}
Promise.all([getUserAccount(), getUserPermissions()])
.then(function (results) {
const acct = results[0];
const perm = results[1];
});
```
## axios API
Requests can be made by passing the relevant config to `axios`.
##### axios(config)
```js
// Send a POST request
axios({
method: 'post',
url: '/user/12345',
data: {
firstName: 'Fred',
lastName: 'Flintstone'
}
});
```
```js
// GET request for remote image in node.js
axios({
method: 'get',
url: 'http://bit.ly/2mTM3nY',
responseType: 'stream'
})
.then(function (response) {
response.data.pipe(fs.createWriteStream('ada_lovelace.jpg'))
});
```
##### axios(url[, config])
```js
// Send a GET request (default method)
axios('/user/12345');
```
### Request method aliases
For convenience aliases have been provided for all supported request methods.
##### axios.request(config)
##### axios.get(url[, config])
##### axios.delete(url[, config])
##### axios.head(url[, config])
##### axios.options(url[, config])
##### axios.post(url[, data[, config]])
##### axios.put(url[, data[, config]])
##### axios.patch(url[, data[, config]])
###### NOTE
When using the alias methods `url`, `method`, and `data` properties don't need to be specified in config.
### Concurrency (Deprecated)
Please use `Promise.all` to replace the below functions.
Helper functions for dealing with concurrent requests.
axios.all(iterable)
axios.spread(callback)
### Creating an instance
You can create a new instance of axios with a custom config.
##### axios.create([config])
```js
const instance = axios.create({
baseURL: 'https://some-domain.com/api/',
timeout: 1000,
headers: {'X-Custom-Header': 'foobar'}
});
```
### Instance methods
The available instance methods are listed below. The specified config will be merged with the instance config.
##### axios#request(config)
##### axios#get(url[, config])
##### axios#delete(url[, config])
##### axios#head(url[, config])
##### axios#options(url[, config])
##### axios#post(url[, data[, config]])
##### axios#put(url[, dat
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
该版本前端使用uniapp开发,后端为php(one-php后台系统管理框架,基于tp5.1.*版本),目前已兼容微信小程序、双端APP及H5,功能健全,拆封即用。 该源码分两个版本1.0和2.0,2.0版本为1.0版本的重构版,主要重构了界面UI及系统架构,对于1.0版本来说,重构版除原有的API管理后台外,新增了版本控制系统、升级包制作工具、前端UNIAPP自助升级(易语言),实现用户自助升级,弥补了1.0版本下载安装包手动升级麻烦的问题,避免因为用户错误升级操作导致系统出现bug。 码云地址:https://gitee.com/lyq617/yunyingping2.0
资源详情
资源评论
资源推荐
收起资源包目录
uniapp影视视频H5小程序APP前后端源码 (2950个子文件)
5MkQw8xDJRIyohY3QjAqbMYi6dpmRslWOt4iLs5er-Q 87B
Karma617-DownloaderManager.aar 22KB
pages.json.app 10KB
uni-fab.vue.bak 8KB
test.bmp 0B
test.bmp 0B
materialdesignicons.css 342KB
materialdesignicons.css 319KB
materialdesignicons.min.css 263KB
materialdesignicons.min.css 263KB
index.css 227KB
index.css 227KB
index.css 227KB
index.css 227KB
index.css 227KB
index.a5c69d49.css 92KB
iconfont.css 79KB
icon.css 70KB
main.css 63KB
cascader.css 29KB
cascader.css 29KB
date-picker.css 28KB
date-picker.css 28KB
transfer.css 27KB
transfer.css 27KB
col.css 25KB
col.css 25KB
pagination.css 23KB
pagination.css 23KB
table.css 22KB
table.css 22KB
message-box.css 21KB
message-box.css 21KB
time-picker.css 21KB
time-picker.css 21KB
select.css 18KB
select.css 18KB
slider.css 18KB
slider.css 18KB
tabs.css 16KB
tabs.css 16KB
base.css 16KB
base.css 16KB
dropdown.css 15KB
dropdown.css 15KB
wangEditor.css 14KB
wangEditor.css 14KB
time-select.css 13KB
time-select.css 13KB
table-column.css 13KB
table-column.css 13KB
cascader-panel.css 13KB
cascader-panel.css 13KB
tree.css 13KB
tree.css 13KB
upload.css 12KB
upload.css 12KB
icon.css 12KB
icon.css 12KB
calendar.css 12KB
calendar.css 12KB
theme.css 10KB
autocomplete.css 10KB
autocomplete.css 10KB
button.css 10KB
button.css 10KB
input-number.css 10KB
input-number.css 10KB
menu.css 9KB
menu.css 9KB
color-picker.css 7KB
color-picker.css 7KB
checkbox.css 7KB
checkbox.css 7KB
input.css 7KB
input.css 7KB
flex.css 5KB
flex.css 5KB
step.css 5KB
step.css 5KB
collapse.css 5KB
collapse.css 5KB
drawer.css 5KB
drawer.css 5KB
tag.css 5KB
tag.css 5KB
layout.css 4KB
layout.css 4KB
image.css 3KB
image.css 3KB
common.css 3KB
radio.css 3KB
radio.css 3KB
common.css 3KB
form.css 3KB
form.css 3KB
dialog.css 3KB
dialog.css 3KB
select-dropdown.css 3KB
select-dropdown.css 3KB
共 2950 条
- 1
- 2
- 3
- 4
- 5
- 6
- 30
karma617
- 粉丝: 10
- 资源: 32
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0