Vue發(fā)送ajax請(qǐng)求方法介紹
一、vue-resource
1、簡(jiǎn)介
一款vue插件,用于處理ajax請(qǐng)求,vue1.x時(shí)廣泛應(yīng)用,現(xiàn)不被維護(hù)。
2、使用流程
step1:安裝
【命令行輸入】 npm install vue-resource --save
step2:引入
【main.js】 // 引入vue-resource import VueResource from 'vue-resource' // 使用vue-resource Vue.use(VueResource)
step3:編碼
【格式:】 this.$http.get().then() 返回的是一個(gè)Promise對(duì)象
step4:完整代碼
【使用vue-cli創(chuàng)建項(xiàng)目】
http://www.dhdzp.com/article/235498.htm
【main.js】
import Vue from 'vue'
import App from './App.vue'
// 引入vue-resource
import VueResource from 'vue-resource'
// 使用vue-resource
Vue.use(VueResource)
Vue.config.productionTip = false
new Vue({
render: h => h(App),
}).$mount('#app')
【App.vue】
<template>
<div>
<div v-if="!repositoryUrl">loading...</div>
<div v-else>most star repository is <a :href="repositoryUrl" rel="external nofollow" rel="external nofollow" >{{repositoryName}}</a></div>
</div>
<!--App -->
</template>
<script>
export default {
data() {
return {
repositoryUrl : '',
repositoryName : ''
}
},
mounted() {
// 發(fā)ajax請(qǐng)求,用以獲取數(shù)據(jù),此處地址意思是查詢 github中 vue 星數(shù)最高的項(xiàng)目
const url = 'https://api.github.com/search/repositories?q=vue&sort=stars';
this.$http.get(url).then(
response => {
const result = response.data.items[0];
console.log(result)
this.repositoryUrl = result.html_url;
this.repositoryName = result.name;
},
response => {
alert('請(qǐng)求失敗');
},
);
}
}
</script>
<style>
</style>step5:截圖:

請(qǐng)求正常

點(diǎn)擊鏈接跳轉(zhuǎn)

使用錯(cuò)誤的地址

彈出錯(cuò)誤提示框

二、axios
1、簡(jiǎn)介
一款vue庫(kù),用于處理ajax請(qǐng)求,vue2.x時(shí)廣泛應(yīng)用。
2、流程
step1:安裝
【命令行輸入】 npm install axios --save
step2:引入
【在哪里使用,就在哪里引入】 import axios from 'axios';
step3:完整代碼
【main.js】
import Vue from 'vue'
import App from './App.vue'
Vue.config.productionTip = false
new Vue({
render: h => h(App),
}).$mount('#app')
【App.vue】
<template>
<div>
<div v-if="!repositoryUrl">loading...</div>
<div v-else>most star repository is <a :href="repositoryUrl" rel="external nofollow" rel="external nofollow" >{{repositoryName}}</a></div>
</div>
<!--App -->
</template>
<script>
import axios from 'axios';
export default {
data() {
return {
repositoryUrl : '',
repositoryName : ''
}
},
mounted() {
// 發(fā)ajax請(qǐng)求,用以獲取數(shù)據(jù),此處地址意思是查詢 github中 vue 星數(shù)最高的項(xiàng)目
const url = 'https://api.github.com/search/repositories?q=vue&sort=stars';
axios.get(url).then(
response => {
const result = response.data.items[0];
console.log(result)
this.repositoryUrl = result.html_url;
this.repositoryName = result.name;
}
).catch(
response => {
alert('請(qǐng)求失敗');
},
);
}
}
</script>
<style>
</style>
step5:截圖與上面的 vue-resource 一樣,此處不重復(fù)截圖。
3、axios 解決跨域問(wèn)題
參考:http://www.dhdzp.com/article/235490.htm
到此這篇關(guān)于Vue發(fā)送ajax請(qǐng)求的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
如何解決ElementPlus的el-table底白線問(wèn)題
這篇文章主要介紹了如何解決ElementPlus的el-table底白線問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
vue3+vite+ts使用require.context問(wèn)題
這篇文章主要介紹了vue3+vite+ts使用require.context問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
vue 實(shí)現(xiàn)強(qiáng)制類型轉(zhuǎn)換 數(shù)字類型轉(zhuǎn)為字符串
今天小編就為大家分享一篇vue 實(shí)現(xiàn)強(qiáng)制類型轉(zhuǎn)換 數(shù)字類型轉(zhuǎn)為字符串,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11
React和Vue實(shí)現(xiàn)路由懶加載的示例代碼
路由懶加載是一項(xiàng)關(guān)鍵技術(shù),它可以幫助我們提高Web應(yīng)用的加載速度,本文主要介紹了React和Vue實(shí)現(xiàn)路由懶加載的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01
解決Vue控制臺(tái)報(bào)錯(cuò)Failed to mount component: tem
這篇文章主要介紹了解決Vue控制臺(tái)報(bào)錯(cuò)Failed to mount component: template or render function not defined.問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06

