基于http客戶端的promise,面向瀏覽器和nodejs
瀏覽器端發(fā)起XMLHttpRequests請求
node端發(fā)起http請求
支持Promise API
監(jiān)聽請求和返回
轉化請求和返回
取消請求
自動轉化json數(shù)據(jù)
客戶端支持抵御
使用npm:
npm install axios --save
為了解決post默認使用的是application/json請求數(shù)據(jù) ,導致請求參數(shù)無法傳遞到后臺,所以還需要安裝一個插件QS,此插件將application/json轉換為application/x-www-from-urlencoded
npm install qs --save
一個命令全部解決
npm install --save axios vue-axios qs
首先在 main.js 中引入 axios
import Axiso from 'axiso'
這時候如果在其它的組件中,是無法使用 axios 命令的。但如果將 axios 改寫為 Vue 的原型屬性,就能解決這個問題
Vue.prototype.$axios= Axios
配置好了之后就可以全局使用了
post請求轉換
import QS from 'qs'
if(config.method=='post'){
config.data=QS.stringify(config.data);//防止post請求參數(shù)無法傳到后臺
}
axios({ method: 'post', url:'http://easy-mock.com/mock/596077559adc231f357bcdfb/axios/test-post-axios' }) .then((response)=>{ console.log(response.data) }) .catch((error)=>{ console.log(error) }) axios.post('http://easy-mock.com/mock/596077559adc231f357bcdfb/axios/test-post-axios',{ miaov:"課堂" //發(fā)送的數(shù)據(jù) }) .then((response)=>{ console.log(response.data) }) .catch((error)=>{ console.log(error) })
發(fā)送帶參數(shù)的
//get方式發(fā)送數(shù)據(jù)axios.get('https://easy-mock.com/mock/5a883cccbf160328124e8204/example/mock', { params: { pomelo: 'tt', test: 'test' }}).then((response) => { console.log(response)}).catch((error) => { console.log(error)})//post方式發(fā)送數(shù)據(jù)axios.post('https://easy-mock.com/mock/5a883cccbf160328124e8204/example/mock', { pomelo: 'tt', test: 'test'}).then((response) => { console.log(response)}).catch((error) => { console.log(error)})
聯(lián)系客服