久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長(zhǎng)資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

一文聊聊vue項(xiàng)目中怎么使用axios?基本用法分享

一文聊聊vue項(xiàng)目中怎么使用axios?基本用法分享

前端(vue)入門(mén)到精通課程:進(jìn)入學(xué)習(xí)
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調(diào)試工具:點(diǎn)擊使用

提示:本篇詳解axios在vue項(xiàng)目中的實(shí)例。在使用Vue.js框架開(kāi)發(fā)前端項(xiàng)目時(shí),會(huì)經(jīng)常發(fā)送ajax請(qǐng)求服務(wù)端接口,在開(kāi)發(fā)過(guò)程中,需要對(duì)axios進(jìn)一步封裝,方便在項(xiàng)目中的使用。【學(xué)習(xí)視頻分享:vue視頻教程、web前端視頻】

Axios簡(jiǎn)介

axios框架全稱(chēng)(ajax – I/O – system):

  • 基于promise用于瀏覽器和node.js的http客戶(hù)端,因此可以使用Promise API

一文聊聊vue項(xiàng)目中怎么使用axios?基本用法分享

一、axios是干啥的

說(shuō)到axios我們就不得不說(shuō)下Ajax。在舊瀏覽器頁(yè)面在向服務(wù)器請(qǐng)求數(shù)據(jù)時(shí),因?yàn)榉祷氐氖钦麄€(gè)頁(yè)面的數(shù)據(jù),頁(yè)面都會(huì)強(qiáng)制刷新一下,這對(duì)于用戶(hù)來(lái)講并不是很友好。并且我們只是需要修改頁(yè)面的部分?jǐn)?shù)據(jù),但是從服務(wù)器端發(fā)送的卻是整個(gè)頁(yè)面的數(shù)據(jù),十分消耗網(wǎng)絡(luò)資源。而我們只是需要修改頁(yè)面的部分?jǐn)?shù)據(jù),也希望不刷新頁(yè)面,因此異步網(wǎng)絡(luò)請(qǐng)求就應(yīng)運(yùn)而生。

Ajax(Asynchronous JavaScript and XML):
異步網(wǎng)絡(luò)請(qǐng)求。Ajax能夠讓頁(yè)面無(wú)刷新的請(qǐng)求數(shù)據(jù)。

實(shí)現(xiàn)ajax的方式有多種,如jQuery封裝的ajax,原生的XMLHttpRequest,以及axios。但各種方式都有利弊:

  • 原生的XMLHttpRequest的配置和調(diào)用方式都很繁瑣,實(shí)現(xiàn)異步請(qǐng)求十分麻煩
  • jQuery的ajax相對(duì)于原生的ajax是非常好用的,但是沒(méi)有必要因?yàn)橐胊jax異步網(wǎng)絡(luò)請(qǐng)求而引用jQuery框架

Axios(ajax i/o system):
這不是一種新技術(shù),本質(zhì)上還是對(duì)原生XMLHttpRequest的封裝,可用于瀏覽器和nodejs的HTTP客戶(hù)端,只不過(guò)它是基于Promise的,符合最新的ES規(guī)范。具備以下特點(diǎn):

  • 在瀏覽器中創(chuàng)建XMLHttpRequest請(qǐng)求
  • 在node.js中發(fā)送http請(qǐng)求
  • 支持Promise API
  • 攔截請(qǐng)求和響應(yīng)
  • 轉(zhuǎn)換請(qǐng)求和響應(yīng)數(shù)據(jù)
  • 取消要求
  • 自動(dòng)轉(zhuǎn)換JSON數(shù)據(jù)
  • 客戶(hù)端支持防止CSRF/XSRF(跨域請(qǐng)求偽造)

一文聊聊vue項(xiàng)目中怎么使用axios?基本用法分享

二、安裝使用

安裝有三種方式:

npm安裝

 npm install axios
登錄后復(fù)制

bower安裝

bower install axios
登錄后復(fù)制

通過(guò)cdn引入

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
登錄后復(fù)制

在vue項(xiàng)目的main.js文件中引入axios

import axios from 'axios' Vue.prototype.$axios = axios
登錄后復(fù)制

在組件中使用axios

<script> 	export default { 		mounted(){ 			this.$axios.get('/goods.json').then(res=>{ 				console.log(res.data); 			}) 		} 	} </script>
登錄后復(fù)制

三、Axios請(qǐng)求方式

1、axios可以請(qǐng)求的方法:

  • get:獲取數(shù)據(jù),請(qǐng)求指定的信息,返回實(shí)體對(duì)象
  • post:向指定資源提交數(shù)據(jù)(例如表單提交或文件上傳)
  • put:更新數(shù)據(jù),從客戶(hù)端向服務(wù)器傳送的數(shù)據(jù)取代指定的文檔的內(nèi)容
  • patch:更新數(shù)據(jù),是對(duì)put方法的補(bǔ)充,用來(lái)對(duì)已知資源進(jìn)行局部更新
  • delete:請(qǐng)求服務(wù)器刪除指定的數(shù)據(jù)

2、get請(qǐng)求

示例代碼

方法一

 //請(qǐng)求格式類(lèi)似于 http://localhost:8080/goods.json?id=1 this.$axios.get('/goods.json',{     			params: {                     id:1                 } 			}).then(res=>{ 					console.log(res.data); 				},err=>{ 					console.log(err); 			})
登錄后復(fù)制

方法二

this.$axios({ 		method: 'get', 		url: '/goods.json',     	params: {             id:1         } 	}).then(res=>{ 		console.log(res.data); 	},err=>{ 		console.log(err); 	})
登錄后復(fù)制

3、post請(qǐng)求

post請(qǐng)求一般分為兩種類(lèi)型

1、form-data 表單提交,圖片上傳、文件上傳時(shí)用該類(lèi)型比較多
2、application/json 一般是用于 ajax 異步請(qǐng)求

示例代碼

方法一

this.$axios.post('/url',{ 				id:1 			}).then(res=>{ 				console.log(res.data); 			},err=>{ 				console.log(err); 			})
登錄后復(fù)制

方法二

$axios({ 	method: 'post', 	url: '/url', 	data: { 		id:1 	} }).then(res=>{ 	console.log(res.data); },err=>{ 	console.log(err); })
登錄后復(fù)制

form-data請(qǐng)求

let data = { 	//請(qǐng)求參數(shù) }  let formdata = new FormData(); for(let key in data){ 	formdata.append(key,data[key]); }  this.$axios.post('/goods.json',formdata).then(res=>{ 	console.log(res.data); },err=>{ 	console.log(err); })
登錄后復(fù)制

4、put和patch請(qǐng)求

示例代碼

put請(qǐng)求

this.$axios.put('/url',{ 				id:1 			}).then(res=>{ 				console.log(res.data); 			})
登錄后復(fù)制

patch請(qǐng)求

this.$axios.patch('/url',{ 				id:1 			}).then(res=>{ 				console.log(res.data); 			})
登錄后復(fù)制

5、delete請(qǐng)求

示例代碼

參數(shù)以明文形式提交

this.$axios.delete('/url',{ 				params: { 					id:1 				} 			}).then(res=>{ 				console.log(res.data); 			})
登錄后復(fù)制

參數(shù)以封裝對(duì)象的形式提交

this.$axios.delete('/url',{ 				data: { 					id:1 				} 			}).then(res=>{ 				console.log(res.data); 			})  //方法二 axios({     method: 'delete',     url: '/url',     params: { id:1 }, //以明文方式提交參數(shù)     data: { id:1 } //以封裝對(duì)象方式提交參數(shù) }).then(res=>{ 	console.log(res.data); })
登錄后復(fù)制

6、并發(fā)請(qǐng)求

并發(fā)請(qǐng)求:同時(shí)進(jìn)行多個(gè)請(qǐng)求,并統(tǒng)一處理返回值

示例代碼

 this.$axios.all([ 	this.$axios.get('/goods.json'), 	this.$axios.get('/classify.json') ]).then( 	this.$axios.spread((goodsRes,classifyRes)=>{ 		console.log(goodsRes.data); 		console.log(classifyRes.data); 	}) )
登錄后復(fù)制

四、Axios實(shí)例

1、創(chuàng)建axios實(shí)例

示例代碼

let instance = this.$axios.create({ 				baseURL: 'http://localhost:9090', 				timeout: 2000 			}) 			 instance.get('/goods.json').then(res=>{ 	console.log(res.data); })
登錄后復(fù)制

可以同時(shí)創(chuàng)建多個(gè)axios實(shí)例。
axios實(shí)例常用配置:

  • baseURL 請(qǐng)求的域名,基本地址,類(lèi)型:String
  • timeout 請(qǐng)求超時(shí)時(shí)長(zhǎng),單位ms,類(lèi)型:Number
  • url 請(qǐng)求路徑,類(lèi)型:String
  • method 請(qǐng)求方法,類(lèi)型:String
  • headers 設(shè)置請(qǐng)求頭,類(lèi)型:Object
  • params 請(qǐng)求參數(shù),將參數(shù)拼接在URL上,類(lèi)型:Object
  • data 請(qǐng)求參數(shù),將參數(shù)放到請(qǐng)求體中,類(lèi)型:Object

2、axios全局配置

示例代碼

//配置全局的超時(shí)時(shí)長(zhǎng) this.$axios.defaults.timeout = 2000; //配置全局的基本URL this.$axios.defaults.baseURL = 'http://localhost:8080';
登錄后復(fù)制

3、axios實(shí)例配置

示例代碼

let instance = this.$axios.create(); instance.defaults.timeout = 3000;
登錄后復(fù)制

4、axios請(qǐng)求配置

示例代碼

this.$axios.get('/goods.json',{ 				timeout: 3000 			}).then()
登錄后復(fù)制

以上配置的優(yōu)先級(jí)為:請(qǐng)求配置 > 實(shí)例配置 > 全局配置

五、攔截器

攔截器:在請(qǐng)求或響應(yīng)被處理前攔截它們

1、請(qǐng)求攔截器

示例代碼

this.$axios.interceptors.request.use(config=>{ 				// 發(fā)生請(qǐng)求前的處理  				return config 			},err=>{ 				// 請(qǐng)求錯(cuò)誤處理  				return Promise.reject(err); 			})  //或者用axios實(shí)例創(chuàng)建攔截器 let instance = $axios.create(); instance.interceptors.request.use(config=>{     return config })
登錄后復(fù)制

2、響應(yīng)攔截器

示例代碼

this.$axios.interceptors.response.use(res=>{ 				//請(qǐng)求成功對(duì)響應(yīng)數(shù)據(jù)做處理  				return res //該返回對(duì)象會(huì)傳到請(qǐng)求方法的響應(yīng)對(duì)象中 			},err=>{ 				// 響應(yīng)錯(cuò)誤處理  				return Promise.reject(err); 			})
登錄后復(fù)制

3、取消攔截

示例代碼

let instance = this.$axios.interceptors.request.use(config=>{ 				config.headers = { 					token: '' 				} 				return config 			}) 			 //取消攔截 this.$axios.interceptors.request.eject(instance);
登錄后復(fù)制

六、錯(cuò)誤處理

示例代碼

this.$axios.get('/url').then(res={  			}).catch(err=>{ 				//請(qǐng)求攔截器和響應(yīng)攔截器拋出錯(cuò)誤時(shí),返回的err對(duì)象會(huì)傳給當(dāng)前函數(shù)的err對(duì)象 				console.log(err); 			})
登錄后復(fù)制

七、取消請(qǐng)求

示例代碼

let source = this.$axios.CancelToken.source();  this.$axios.get('/goods.json',{ 				cancelToken: source 			}).then(res=>{ 				console.log(res) 			}).catch(err=>{ 				//取消請(qǐng)求后會(huì)執(zhí)行該方法 				console.log(err) 			})  //取消請(qǐng)求,參數(shù)可選,該參數(shù)信息會(huì)發(fā)送到請(qǐng)求的catch中 source.cancel('取消后的信息');
登錄后復(fù)制

(學(xué)習(xí)視頻分享:web前端開(kāi)發(fā)、編程基礎(chǔ)視頻)

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
日韩国产网站| 久久影院一区二区三区| 日韩av一级片| 爽爽淫人综合网网站| 视频福利一区| 激情婷婷综合| 97精品国产| 日本亚洲视频| 波多野结衣久久精品| 日本欧美韩国一区三区| 亚洲免费影院| 好看不卡的中文字幕| 国产精品v日韩精品v欧美精品网站| 亚洲深夜福利| 91成人精品视频| 欧美中文字幕一区二区| 在线天堂中文资源最新版| 蜜桃久久久久| 免费观看亚洲天堂| 国产精品天天看天天狠| 亚洲精品麻豆| 在线观看一区| 日本欧美在线| 欧美伊人影院| 国产精品一线天粉嫩av| 国产美女久久| 国产欧美日韩精品高清二区综合区| 日韩国产高清在线| 国产精品一二| 亚洲天堂资源| 日韩动漫一区| 肉色欧美久久久久久久免费看| 久久亚洲成人| 国产伦乱精品| 日韩综合在线| 久久九九99| 一级欧美视频| 欧美a一区二区| 亚洲免费激情| 久久只有精品| 蜜臀av在线播放一区二区三区| 久久99久久人婷婷精品综合| 一区二区亚洲精品| 国产一区不卡| 国产午夜一区| 日韩精品一二三区| 私拍精品福利视频在线一区| 国产精品tv| 亚洲a级精品| 狠狠久久伊人中文字幕| 国产精品成人**免费视频| 91亚洲自偷观看高清| 日韩在线一二三区| 麻豆精品视频在线| 亚洲少妇诱惑| 久久久久免费av| 日韩国产在线| 日韩精品专区| 97国产成人高清在线观看| 久久精品国产免费| 免费在线日韩av| 国产精品久久久久77777丨| 日韩国产一区二| 日韩高清不卡一区二区| 日韩视频一二区| 鲁大师成人一区二区三区 | 成人日韩精品| 国产视频网站一区二区三区| 国产精品普通话对白| 成人三级高清视频在线看| 国产精品欧美大片| 成人在线免费观看91| а√天堂8资源在线| 视频福利一区| 亚洲在线电影| 日本aⅴ精品一区二区三区| 欧美日韩一区自拍| 7m精品国产导航在线| 国产精品亚洲四区在线观看| 精品网站aaa| 久久国产欧美| 欧美日韩精品一本二本三本 | 亚州av一区| 中文一区一区三区免费在线观 | 99久久99久久精品国产片果冰| 久久精品女人| 岛国av在线播放| 国产精品日本欧美一区二区三区| 久久中文视频| 亚洲免费高清| 国产精品一二| 欧美国产美女| 国产主播一区| 日韩区一区二| 精品国产亚洲日本| 激情偷拍久久| 日本亚洲视频在线| 亚洲伦乱视频| 亚洲三级观看| 国产精品qvod| 日韩免费看片| 青青青国产精品| 国产suv精品一区二区四区视频| 成人羞羞视频播放网站| 欧美午夜三级| 激情综合在线| 日韩一区二区三区免费视频| 91免费精品| 国产亚洲一区二区三区啪| 麻豆mv在线观看| 蜜桃视频第一区免费观看| 精品视频免费| 亚洲一二三区视频| 欧美日韩色图| 日本va欧美va瓶| 久久人人精品| 成人在线免费观看91| 国产日韩欧美三区| 久久性天堂网| 99久久婷婷| 国产精品精品| 国产剧情在线观看一区| 婷婷综合亚洲| 国产一区二区三区四区二区| 欧美亚洲国产日韩| 亚洲精品综合| 夜夜嗨av一区二区三区网站四季av| 国产乱码午夜在线视频| 国产无遮挡裸体免费久久| 97精品97| 精品91福利视频| 精品一区二区男人吃奶 | www.九色在线| а√在线中文在线新版| 国产精品久久久亚洲一区| 欧美日韩亚洲一区三区| 视频一区日韩| 一区二区三区国产盗摄| 中文字幕亚洲影视| 久久xxxx| 日本久久一区| 久久中文字幕导航| 国产亚洲高清在线观看| 日韩一区二区三区免费视频| 亚洲精品国产精品粉嫩| 欧美日韩va| 日本精品黄色| 日本不卡免费高清视频在线| 日韩免费一区| 亚洲欧美日本国产| 国产精品日韩精品在线播放| 国产欧美日韩一级| 亚洲欧洲高清| 伊人www22综合色| 欧美a级一区二区| 欧洲激情综合| 91欧美精品| 高清日韩中文字幕| 国产成人免费视频网站视频社区| 岛国精品一区| 欧美日韩国产欧| 国产精品高潮呻吟久久久久| 精品精品久久| 亚洲开心激情| 日韩国产专区| 国产亚洲一卡2卡3卡4卡新区| 91精品国产91久久久久久黑人| 另类亚洲自拍| 一区二区三区四区日本视频| 亚洲色图国产| 国产伊人久久| 亚洲无线观看| 私拍精品福利视频在线一区| 亚洲一级大片| 国产理论在线| 人人爱人人干婷婷丁香亚洲| 九九精品调教| 麻豆一区二区99久久久久| 精品欧美激情在线观看| 欧美a一区二区| 蜜桃免费网站一区二区三区| 国产成人调教视频在线观看| 久久国产生活片100| 石原莉奈在线亚洲三区| 日本综合字幕| 日韩激情一区| 麻豆精品久久久| 日韩成人在线看| 美女精品在线| av不卡在线| 亚洲性色av| 欧美日韩一二| 一区二区三区四区在线看| 国产欧美一区二区三区精品观看 | 99国产一区| 国产精品99一区二区三区| 国产精品片aa在线观看| 美女视频黄久久| 亚洲人成在线影院| 999在线观看精品免费不卡网站|