vue結(jié)合axios與后端進(jìn)行ajax交互的方法
以前vue官方推薦的ajax庫是vue-resource, 現(xiàn)在改為axios
實(shí)現(xiàn)的效果:

異步請求
頁面異步發(fā)出get請求獲取數(shù)據(jù),提交表單異步post數(shù)據(jù)到服務(wù)端
客戶端
代碼解析:
// 服務(wù)端請求地址
let url = 'http://local.php.com/index.php';
let vm = new Vue({
el: "#app",
data: {
list: [],
name: '',
saying: '',
},
methods: {
add() {
// 傳送的數(shù)據(jù)為json格式
let data = JSON.stringify({
name: this.name,
saying: this.saying
});
axios.post(url, data)
.then(function (response) {
// console.log(response);
// 獲取服務(wù)端返回的數(shù)據(jù)
vm.$data.list = response.data;
})
.catch(function (error) {
console.log(error);
});
}
}
});
axios.get(url, {})
.then(function (response) {
vm.$data.list = response.data;
})
.catch(function (error) {
console.log(error);
})
.then(function () {
// always executed
});
服務(wù)端
使用php作為服務(wù)端程序
代碼解析:
<?php
header("Access-Control-Allow-Origin:*"); // 如果客戶端和服務(wù)端不同域,要加上這行代碼,不然會報跨域錯誤
$data = [
1 => ['name' => '孫悟空', 'saying' => '我是在地球上成長的賽亞人'],
];
$post = file_get_contents("php://input"); // 不要用$_POST接收數(shù)據(jù)
if ($post) {
$data[] = json_decode($post, true);
}
echo json_encode($data, true);

異步請求.gif
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue使用el-table 添加行手動填寫數(shù)據(jù)和刪除行及提交保存功能
遇到這樣的需求點(diǎn)擊新增按鈕實(shí)現(xiàn)下列彈窗的效果,點(diǎn)擊添加行新增一行,點(diǎn)擊刪除進(jìn)行刪除行,點(diǎn)擊提交將數(shù)據(jù)傳遞到后端進(jìn)行保存,怎么實(shí)現(xiàn)的呢,下面通過實(shí)例代碼給大家詳細(xì)講解,感興趣的朋友一起看看吧2023-12-12
vue 導(dǎo)航內(nèi)容設(shè)置選中狀態(tài)樣式的例子
今天小編就為大家分享一篇vue 導(dǎo)航內(nèi)容設(shè)置選中狀態(tài)樣式的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
在vue中通過render函數(shù)給子組件設(shè)置ref操作
這篇文章主要介紹了在vue中通過render函數(shù)給子組件設(shè)置ref操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
vue+highCharts實(shí)現(xiàn)可選范圍的圖表
這篇文章主要為大家詳細(xì)介紹了vue+highCharts實(shí)現(xiàn)可選范圍的圖表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03

