真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

axios

功能強大的網絡請求庫,基于ajax,基于 Promise 的 HTTP 庫,可以用在瀏覽器和 node.js 中,必須先導入再使用,使用get或post方法即可發(fā)送對應的請求,then方法中的回調函數會在請求成功或失敗時觸發(fā),通過回到函數的形參可以獲取響應內容,或者錯誤信息
注冊全局的axios對象
功能特性
1、在瀏覽器中發(fā)送 XMLHttpRequests 請求
2、在 node.js 中發(fā)送 http請求
3、支持 Promise API
4、攔截請求和響應
5、轉換請求和響應數據
6、取消請求
7、自動轉換 JSON 數據
8、客戶端支持保護安全免受 CSRF/XSRF ***
————————————————

從策劃到設計制作,每一步都追求做到細膩,制作可持續(xù)發(fā)展的企業(yè)網站。為客戶提供成都網站制作、做網站、網站策劃、網頁設計、域名注冊雅安服務器托管、網絡營銷、VI設計、 網站改版、漏洞修補等服務。為客戶提供更好的一站式互聯(lián)網解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進步。

get請求
axios.get(地址?key 1= value1 & key2 = value2).then(function(response){},function(err){})
// 比如向具有指定ID的用戶發(fā)出請求

axios.get('/user?ID=12345')
.then(function (response) {
    console.log(response);
})
.catch(function (error) {
    console.log(error);
});

————————————————

post請求

axios.post(地址,{key1 = value1 & key2 = value2}).then(function(response){},function(err){})
//比如發(fā)送表單請求
axios.post('/user', {
    firstName: 'Fred',
    lastName: 'Flintstone'
})
.then(function (response) {
    console.log(response);
})
.catch(function (error) {
    console.log(error);
});

————————————————

執(zhí)行多個并發(fā)請求

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) {
//兩個請求現已完成
}));

————————————————

axios結合Vue使用,vue和axios兩個庫本身沒有聯(lián)系關系,先導入誰都可以
Vue.js 2.0之前使用 vue-resource 除了不支持IE 9以下的瀏覽器,其他主流的瀏覽器都支持。
Vue.js 2.0 版本之后推薦使用 axios 來完成 ajax 請求。axios回調函數中的this已經改變,無法訪問data中的數據,應使用箭頭函數,或者把this保存起來,回調函數中直接使用保存的this即可。

如果使用vue-cli
安裝 axios

$ npm install axios
$ bower install axios
$ yarn add axios

在要使用的文件中引入axios
import axios from ‘axios

axios支持IE8+,但原理是基于promise之上實現的,因此會存在不兼容IE的問題

解決方案:

(1)、首先安裝 babel-polyfill,來解決IE不支持 promise對象的問題

npm install babel-polyfill -s

(2)、安裝成功以后需要在 main.js 中引入 babel-polyfill

import 'babel-polyfill'

一般會配置 webpack.base.config.js 中 entry

module.exports = {
  context: path.resolve(__dirname, '../'),
  entry: {
    app: ["babel-polyfill", "./src/main.js"] 
    // app: './src/main.js'
  },
}

安卓4.3以下的手機不支持axios的使用,無法使用promise

解決方案: (1)、項目中安裝 es6-promise

npm install es6-promise -s
或者
npm install es6-promise --save-dev

(2)、引入 es6-promise

import promise from 'es6-promise'

(3)、注冊 es6-promise (一定要在axios之前注冊)

// 注意: es6-promise 一定要在 axios 之前注冊

promise.polyfill()

或者

require('es6-promise').polyfill();

vue中使用Axios調用接口時出現的ie數據處理問題

問題:在其他瀏覽器中調用接口返回數據然后可以很順利的進行處理,但在IE(9-11)中發(fā)現發(fā)送請求是成功的而且也能抓到服務端返回來的數據。但在處理數據時會出現問題。

原因:typeOf 來查看返回數據的類型發(fā)現axios在IE時處理的返回數據居然是string類型

解決:

let newData;

if (typeOf data === 'string') {

    newData = JSON.parse(data)

} else {

  newData = data

    }

Node.js 環(huán)境
在 node.js里, 可以使用 querystring 模塊:

const querystring = require('querystring');
axios.post('http://something.com/', querystring.stringify({ foo: 'bar' }));


本文題目:axios
網站地址:http://weahome.cn/article/gsccch.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部