詳解Vuejs2.0之異步跨域請(qǐng)求
Vuejs由1.0更新到了2.0版本。HTTP請(qǐng)求官方也從推薦使用Vue-Resoure變?yōu)榱薬xios。接下來(lái)我們來(lái)簡(jiǎn)單地用axios進(jìn)行一下異步請(qǐng)求。(閱讀本文作者默認(rèn)讀者具有使用npm命令的能力,以及具備ES6的能力,以及等等。。。)
首先我們來(lái)安裝Vue-Cli開發(fā)模板(這個(gè)模板可以快速生成vuejs的運(yùn)行配置環(huán)境,可以使新手快速免除配置搭建出運(yùn)行界面),這里我使用cnpm命令,請(qǐng)自行百度配置。
打開命令窗口:
cnpm install -g vue-cli

等待片刻,即可安裝完畢。
然后新建一個(gè)Vuejs項(xiàng)目
vue init webpack axiosproject

切換到項(xiàng)目目錄,執(zhí)行命令:
cnpm install axios --save --dev

最后執(zhí)行命令安裝項(xiàng)目所需依賴:
cnpm install

稍等片刻,即可完成?,F(xiàn)在我們來(lái)跑一下用Vue-Cli搭建出來(lái)的項(xiàng)目,執(zhí)行命令:
cnpm run dev
自動(dòng)瀏覽器自動(dòng)彈出這個(gè)界面就說(shuō)明上面的步驟我們成功實(shí)現(xiàn)了。

接下來(lái)我才來(lái)真正的開始用編輯器來(lái)使用axios。打開VS Code(編輯器請(qǐng)自行用自己喜歡的,本人軟粉,所以首選VS Code),我們來(lái)改造一下main.js入口文件
import Vue from 'vue'
import App from './App'
import axios from 'axios'
Vue.prototype.$http = axios;
/* eslint-disable no-new */
new Vue({
el: '#app',
template: '<App/>',
components: { App }
})

我們引用了axios,再將axios這個(gè)對(duì)象clone到Vue的$http這個(gè)屬性上,以后我們就可以在其他組件里使用axios來(lái)進(jìn)行 異步請(qǐng)求了。不多說(shuō)了,我們最終的結(jié)果就是將請(qǐng)求的數(shù)據(jù)打印到瀏覽器控制臺(tái)就算成功了。我使用的接口是本地模擬的,不過(guò)區(qū)別不大。這里特別說(shuō)明一下關(guān)于跨域,跨域需要配置返回的請(qǐng)求頭,在asp.core做如下處理,其他后端配置可以參照;

這是Get接口返回在瀏覽器返回結(jié)果:

好,接下來(lái)我們?cè)贖ello.vue這個(gè)組件里寫一些腳本
<script>
export default {
name: 'hello',
data () {
return {
msg: 'Welcome to Your Vue.js App'
}
},
created:function(){
this.HelloAxios();
},
methods:{
HelloAxios(){
this.$http.get('http://localhost:54903/api/values').then(m=>console.log(m.data));
}
}
}
</script>

至此我們完成了Get請(qǐng)求,接下來(lái),我們完成Post請(qǐng)求
<script>
export default {
name: 'hello',
data () {
return {
msg: 'Welcome to Your Vue.js App'
}
},
created:function(){
this.HelloAxios();
this.HelloAxiosPost('HelloAxiosPost');
},
methods:{
HelloAxios(){
this.$http.get('http://localhost:54903/api/values').then(m=>console.log(m.data));
},
HelloAxiosPost(val){
let str = 'value='+val
this.$http.post('http://localhost:54903/api/values',str).then(m=>console.log(m.data));
}
}
}
</script>

結(jié)果如圖,我們傳的值'HelloAxiosPost'也打印出來(lái)了。有人可能會(huì)問

這里問什么要這么寫,官方文檔是這么寫的

親測(cè)這樣寫不行。有興趣的朋友可以自行測(cè)試。那我們?cè)賮?lái)說(shuō)說(shuō)為何是那個(gè)字符串

查看chorme F12查看一下網(wǎng)絡(luò)請(qǐng)求,發(fā)現(xiàn)我們請(qǐng)求的值就是Form Data。這樣我們就可以拼接參數(shù)請(qǐng)求了,多參數(shù)格式為param1=value1¶m2=value2。
好了,至此本文結(jié)束了,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- VUE異步更新DOM - 用$nextTick解決DOM視圖的問題
- 淺談Vuejs中nextTick()異步更新隊(duì)列源碼解析
- vue在使用ECharts時(shí)的異步更新和數(shù)據(jù)加載詳解
- 詳解從Vue.js源碼看異步更新DOM策略及nextTick
- vue 解決異步數(shù)據(jù)更新問題
- 詳解vue2父組件傳遞props異步數(shù)據(jù)到子組件的問題
- Vue form 表單提交+ajax異步請(qǐng)求+分頁(yè)效果
- vue異步axios獲取的數(shù)據(jù)渲染到頁(yè)面的方法
- vue中promise的使用及異步請(qǐng)求數(shù)據(jù)的方法
- 詳解Vue的異步更新實(shí)現(xiàn)原理
相關(guān)文章
vue3結(jié)合typescript中使用class封裝axios
這篇文章主要為大家介紹了vue3結(jié)合typescript中使用class封裝axios實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
vue2使用keep-alive緩存多層列表頁(yè)的方法
今天小編就為大家分享一篇vue2使用keep-alive緩存多層列表頁(yè)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
vue-nuxt?登錄鑒權(quán)的實(shí)現(xiàn)
本文主要介紹了vue-nuxt?登錄鑒權(quán)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12
vue路由警告:Duplicate named routes definition問題
這篇文章主要介紹了vue路由警告:Duplicate named routes definition問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09
基于Vue-Cli 打包自動(dòng)生成/抽離相關(guān)配置文件的實(shí)現(xiàn)方法
基于Vue-cli 項(xiàng)目產(chǎn)品部署,涉及到的交互的地址等配置信息,每次都要重新打包才能生效,極大的降低了效率。這篇文章主要介紹了基于Vue-Cli 打包自動(dòng)生成/抽離相關(guān)配置文件 ,需要的朋友可以參考下2018-12-12
Vue 中如何利用 new Date() 獲取當(dāng)前時(shí)間
在 Vue 開發(fā)中,利用 new Date() 方法可以方便地獲取當(dāng)前時(shí)間,并通過(guò) Date 對(duì)象的方法進(jìn)行時(shí)間格式化和操作。通過(guò)本文的介紹,您應(yīng)該對(duì)在 Vue 中獲取當(dāng)前時(shí)間有了更深入的了解,并了解了一些常見的時(shí)間操作方法,需要的朋友可以參考下2023-07-07
淺談vue的iview列表table render函數(shù)設(shè)置DOM屬性值的方法
下面小編就為大家?guī)?lái)一篇淺談vue的iview列表table render函數(shù)設(shè)置DOM屬性值的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09
element-ui?el-upload實(shí)現(xiàn)上傳文件及簡(jiǎn)單的上傳文件格式驗(yàn)證功能
前端上傳文件后,后端接受文件進(jìn)行處理后直接返回處理后的文件,前端直接再將文件下載下來(lái),下面這篇文章主要給大家介紹了關(guān)于element-ui?el-upload實(shí)現(xiàn)上傳文件及簡(jiǎn)單的上傳文件格式驗(yàn)證功能的相關(guān)資料,需要的朋友可以參考下2022-11-11
一文詳解WebStorm如何調(diào)試Vue項(xiàng)目
這篇文章主要介紹了如何使用WebStorm進(jìn)行斷點(diǎn)調(diào)試,包括配置、啟動(dòng)本地應(yīng)用程序、設(shè)置斷點(diǎn)以及使用調(diào)試工具等步驟,文中通過(guò)圖文及代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-02-02

