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

等待片刻,即可安裝完畢。
然后新建一個Vuejs項目
vue init webpack axiosproject

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

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

稍等片刻,即可完成。現在我們來跑一下用Vue-Cli搭建出來的項目,執(zhí)行命令:
cnpm run dev
自動瀏覽器自動彈出這個界面就說明上面的步驟我們成功實現了。

接下來我才來真正的開始用編輯器來使用axios。打開VS Code(編輯器請自行用自己喜歡的,本人軟粉,所以首選VS Code),我們來改造一下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這個對象clone到Vue的$http這個屬性上,以后我們就可以在其他組件里使用axios來進行 異步請求了。不多說了,我們最終的結果就是將請求的數據打印到瀏覽器控制臺就算成功了。我使用的接口是本地模擬的,不過區(qū)別不大。這里特別說明一下關于跨域,跨域需要配置返回的請求頭,在asp.core做如下處理,其他后端配置可以參照;

這是Get接口返回在瀏覽器返回結果:

好,接下來我們在Hello.vue這個組件里寫一些腳本
<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請求,接下來,我們完成Post請求
<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>

結果如圖,我們傳的值'HelloAxiosPost'也打印出來了。有人可能會問

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

親測這樣寫不行。有興趣的朋友可以自行測試。那我們再來說說為何是那個字符串

查看chorme F12查看一下網絡請求,發(fā)現我們請求的值就是Form Data。這樣我們就可以拼接參數請求了,多參數格式為param1=value1¶m2=value2。
好了,至此本文結束了,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
vue3結合typescript中使用class封裝axios
這篇文章主要為大家介紹了vue3結合typescript中使用class封裝axios實現示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06
vue路由警告:Duplicate named routes definition問題
這篇文章主要介紹了vue路由警告:Duplicate named routes definition問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09
基于Vue-Cli 打包自動生成/抽離相關配置文件的實現方法
基于Vue-cli 項目產品部署,涉及到的交互的地址等配置信息,每次都要重新打包才能生效,極大的降低了效率。這篇文章主要介紹了基于Vue-Cli 打包自動生成/抽離相關配置文件 ,需要的朋友可以參考下2018-12-12
淺談vue的iview列表table render函數設置DOM屬性值的方法
下面小編就為大家?guī)硪黄獪\談vue的iview列表table render函數設置DOM屬性值的方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09
element-ui?el-upload實現上傳文件及簡單的上傳文件格式驗證功能
前端上傳文件后,后端接受文件進行處理后直接返回處理后的文件,前端直接再將文件下載下來,下面這篇文章主要給大家介紹了關于element-ui?el-upload實現上傳文件及簡單的上傳文件格式驗證功能的相關資料,需要的朋友可以參考下2022-11-11

