vue請(qǐng)求后端數(shù)據(jù)和跨域問(wèn)題解決
最近遇到的一個(gè)問(wèn)題 后端寫(xiě)好的接口,前端怎么獲取數(shù)據(jù)呢?
這是我后端的接口:GET 接口

這是我前端運(yùn)行的項(xiàng)目地址:

簡(jiǎn)單使用:
咱門(mén)前端使用 頗受好評(píng)的 axios 來(lái)發(fā)起請(qǐng)求
這是它的官網(wǎng):https://www.axios-http.cn/
不過(guò)要在vue中使用它,就需要先安裝 打開(kāi)終端 輸入一下命令
npm install axios
然后在需要使用的 頁(yè)面 <script> 中標(biāo)簽 引入 axios就行了
import axios from 'axios'
然后在methods中 創(chuàng)建一個(gè)函數(shù):代碼如下
a() {
// const axios = require('axios'); // 官方給出的例子 這段話類(lèi)似于 import
axios.get('http://localhost:8088/user') // 這里填寫(xiě)后端的地址
.then(function (response) {
// 處理成功情況
console.log(response);
})
.catch(function (error) {
// 處理錯(cuò)誤情況
console.log(error);
})
.then(function () {
// 總是會(huì)執(zhí)行
});
}require 和 import 具體詳情,可以查閱相關(guān)資料
寫(xiě)完之后在 div中寫(xiě)一個(gè) <button> 標(biāo)簽<button @click="a()">點(diǎn)我 a</button>
打開(kāi)控制臺(tái)可以看到,data里面有三條數(shù)據(jù)


看到這里,我們就請(qǐng)求到了后端數(shù)據(jù)(后端一定要允許跨域請(qǐng)求)
改進(jìn)
寫(xiě)完你這里例子之后,又寫(xiě)了幾個(gè)請(qǐng)求,發(fā)現(xiàn)呢,每次都要復(fù)制黏貼,還有好多重復(fù)性代碼,就想到,應(yīng)該可以把這個(gè)axios封裝一下
先去網(wǎng)上查找一些封裝的案例,發(fā)現(xiàn),,,,看不懂(并不難的鴨子)
然后自己手動(dòng) 簡(jiǎn)單封裝一下 axios
在src 目錄下新建一個(gè) utils 目錄,然后再建一個(gè) request.js 文件在里面寫(xiě)一下代碼
/*引入axios*/
import axios from 'axios'
const request = axios.create({
baseURL: 'http://localhost:8088' // 接口服務(wù)器地址
});
// // 創(chuàng)建實(shí)例后修改默認(rèn)值
// instance.defaults.headers.common['Authorization'] = AUTH_TOKEN;
// //前端采用export.default,在寫(xiě)后端代碼時(shí)用module.export
export default request在src中新建一個(gè) api 目錄, 在目錄中新建有一個(gè) demo.js ( 根據(jù)接口作用取名字,這里為測(cè)試demo )寫(xiě)入以下代碼
import request from '../utils/request' // 引入 request 類(lèi)(模塊)
export function getList(params={}) {
return request({
methods:'GET',
url:'/user',
params,
})
}在url中,可以直接 用 / 和接口 地址拼接 然后設(shè)置methods 方式 ,axios 中默認(rèn)為 get,getList是一個(gè)方法名
回到vue的頁(yè)面上,在我們需要的vue中寫(xiě) import { getList } from "../api/demo" 導(dǎo)入這個(gè)方法
然后再methods中創(chuàng)建一個(gè)函數(shù) ,重寫(xiě)這個(gè)方法
b(){
getList().then(function(response){
console.log(response);
}).catch(function(error){
console.log(error);
});
}最后這個(gè)方法可以用于點(diǎn)擊事件,如果與crated中,就必須是使用回調(diào)函數(shù)
getList(){
listUser()
.then(response =>{ // 回調(diào)函數(shù)使用箭頭函數(shù)來(lái)使用。(responde)=>{}
this.tableData = response.data;
})
},跨域問(wèn)題解決:
凡事不要慌,能解決的事,那都不是事~
我是在后端Controller 層加了 @CrossOrigin 注解
跨域報(bào)錯(cuò):

如有問(wèn)題,后續(xù)更新,先記錄一下
到此這篇關(guān)于vue請(qǐng)求后端數(shù)據(jù)和跨域問(wèn)題的文章就介紹到這了,更多相關(guān)vue請(qǐng)求后端數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- vue解決跨域問(wèn)題的幾種常用方法(CORS)
- vue項(xiàng)目配置代理如何解決跨域問(wèn)題
- vue跨域問(wèn)題:Access?to?XMLHttpRequest?at‘httplocalhost解決
- vue使用反向代理解決跨域問(wèn)題方案
- 解決Vue前后端跨域問(wèn)題的方式匯總
- vue3解決跨域問(wèn)題詳細(xì)代碼親測(cè)有效
- Vue項(xiàng)目中該如何解決跨域問(wèn)題
- vuecli3打包后出現(xiàn)跨域問(wèn)題,前端配置攔截器無(wú)效的解決
- Vue3設(shè)置Proxy代理解決跨域問(wèn)題
- VUE跨域問(wèn)題Access to XMLHttpRequest at
- 前端vue打包項(xiàng)目,如何解決跨域問(wèn)題
- Vue解決跨域問(wèn)題常見(jiàn)方法詳解
相關(guān)文章
Vue2?Element?description組件列合并詳解
在使用Vue的時(shí)候經(jīng)常會(huì)涉及到表格的列合并,下面這篇文章主要給大家介紹了給大家Vue2?Element?description組件列合并的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01
vue2.0 如何把子組件的數(shù)據(jù)傳給父組件(推薦)
這篇文章主要介紹了vue2.0 如何把子組件的數(shù)據(jù)傳給父組件,需要的朋友可以參考下2018-01-01
解決vue項(xiàng)目Error:Cannot find module‘xxx’類(lèi)報(bào)錯(cuò)問(wèn)題
當(dāng)npm運(yùn)行報(bào)錯(cuò)Error:Cannot find module 'xxx'時(shí),通常是因?yàn)閚ode_modules文件或依賴(lài)未正確安裝,解決步驟包括刪除node_modules和package-lock.json文件,重新運(yùn)行npm install,并根據(jù)需要安裝額外插件,若網(wǎng)絡(luò)問(wèn)題導(dǎo)致安裝失敗2024-10-10
vue中控制mock在開(kāi)發(fā)環(huán)境使用,在生產(chǎn)環(huán)境禁用方式
這篇文章主要介紹了vue中控制mock在開(kāi)發(fā)環(huán)境使用,在生產(chǎn)環(huán)境禁用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04
vite項(xiàng)目如何集成eslint和prettier
這篇文章主要介紹了vite項(xiàng)目如何集成eslint和prettier問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
使用yarn?build?打包vue項(xiàng)目時(shí)靜態(tài)文件或圖片未打包成功的問(wèn)題及解決方法
這篇文章主要介紹了使用yarn?build?打包vue項(xiàng)目時(shí)靜態(tài)文件或圖片未打包成功的問(wèn)題及解決方法,解決方法不復(fù)雜通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08
vue3+vite2中使用svg的方法詳解(親測(cè)可用)
vue2的時(shí)候使用的是字體圖標(biāo),缺點(diǎn)就是比較單一,到了vue3,相信瀏覽器的性能起來(lái),所以這里記錄一下,下面這篇文章主要給大家介紹了關(guān)于vue3+vite2中使用svg的相關(guān)資料,需要的朋友可以參考下2022-08-08

