Vue發(fā)送ajax請求方法介紹
一、vue-resource
1、簡介
一款vue插件,用于處理ajax請求,vue1.x時廣泛應用,現(xiàn)不被維護。
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() 返回的是一個Promise對象
step4:完整代碼
【使用vue-cli創(chuàng)建項目】
http://www.fzitv.net/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請求,用以獲取數(shù)據(jù),此處地址意思是查詢 github中 vue 星數(shù)最高的項目
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('請求失敗');
},
);
}
}
</script>
<style>
</style>step5:截圖:

請求正常

點擊鏈接跳轉

使用錯誤的地址

彈出錯誤提示框

二、axios
1、簡介
一款vue庫,用于處理ajax請求,vue2.x時廣泛應用。
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請求,用以獲取數(shù)據(jù),此處地址意思是查詢 github中 vue 星數(shù)最高的項目
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('請求失敗');
},
);
}
}
</script>
<style>
</style>
step5:截圖與上面的 vue-resource 一樣,此處不重復截圖。
3、axios 解決跨域問題
參考:http://www.fzitv.net/article/235490.htm
到此這篇關于Vue發(fā)送ajax請求的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
vue3+vite+ts使用require.context問題
這篇文章主要介紹了vue3+vite+ts使用require.context問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05
vue 實現(xiàn)強制類型轉換 數(shù)字類型轉為字符串
今天小編就為大家分享一篇vue 實現(xiàn)強制類型轉換 數(shù)字類型轉為字符串,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
解決Vue控制臺報錯Failed to mount component: tem
這篇文章主要介紹了解決Vue控制臺報錯Failed to mount component: template or render function not defined.問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06

