最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue請求后端數(shù)據(jù)和跨域問題解決

 更新時(shí)間:2023年05月17日 08:25:00   作者:蕭熙  
這篇文章主要介紹了vue請求后端數(shù)據(jù)和跨域問題,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

最近遇到的一個(gè)問題 后端寫好的接口,前端怎么獲取數(shù)據(jù)呢?

這是我后端的接口:GET 接口

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

簡單使用:

咱門前端使用 頗受好評的 axios 來發(fā)起請求

這是它的官網(wǎng):https://www.axios-http.cn/

不過要在vue中使用它,就需要先安裝 打開終端 輸入一下命令

npm install axios

然后在需要使用的 頁面 <script> 中標(biāo)簽 引入 axios就行了

import axios from 'axios'

然后在methods中 創(chuàng)建一個(gè)函數(shù):代碼如下

a() {
      // const axios = require('axios');  // 官方給出的例子 這段話類似于 import
      axios.get('http://localhost:8088/user') // 這里填寫后端的地址
        .then(function (response) {
          // 處理成功情況
          console.log(response);
        })
        .catch(function (error) {
          // 處理錯(cuò)誤情況
          console.log(error);
        })
        .then(function () {
          // 總是會(huì)執(zhí)行
        });
    }

require 和 import 具體詳情,可以查閱相關(guān)資料

寫完之后在 div中寫一個(gè) <button> 標(biāo)簽<button @click="a()">點(diǎn)我 a</button>

打開控制臺可以看到,data里面有三條數(shù)據(jù)

看到這里,我們就請求到了后端數(shù)據(jù)(后端一定要允許跨域請求)

改進(jìn)

  寫完你這里例子之后,又寫了幾個(gè)請求,發(fā)現(xiàn)呢,每次都要復(fù)制黏貼,還有好多重復(fù)性代碼,就想到,應(yīng)該可以把這個(gè)axios封裝一下

先去網(wǎng)上查找一些封裝的案例,發(fā)現(xiàn),,,,看不懂(并不難的鴨子)

  然后自己手動(dòng) 簡單封裝一下 axios

在src 目錄下新建一個(gè) utils 目錄,然后再建一個(gè) request.js 文件在里面寫一下代碼

/*引入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,在寫后端代碼時(shí)用module.export
export default request

在src中新建一個(gè) api 目錄, 在目錄中新建有一個(gè) demo.js ( 根據(jù)接口作用取名字,這里為測試demo )寫入以下代碼

import request from '../utils/request' // 引入 request 類(模塊)
export function getList(params={}) {
    return request({
        methods:'GET',
        url:'/user',
        params,
    })
}

在url中,可以直接 用 / 和接口 地址拼接 然后設(shè)置methods 方式 ,axios 中默認(rèn)為 get,getList是一個(gè)方法名

回到vue的頁面上,在我們需要的vue中寫 import { getList } from "../api/demo" 導(dǎo)入這個(gè)方法

然后再methods中創(chuàng)建一個(gè)函數(shù) ,重寫這個(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ù)來使用。(responde)=>{}
        this.tableData = response.data;
      })
    },

跨域問題解決:

  凡事不要慌,能解決的事,那都不是事~

  我是在后端Controller 層加了 @CrossOrigin 注解

  跨域報(bào)錯(cuò):

如有問題,后續(xù)更新,先記錄一下

到此這篇關(guān)于vue請求后端數(shù)據(jù)和跨域問題的文章就介紹到這了,更多相關(guān)vue請求后端數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue2?Element?description組件列合并詳解

    Vue2?Element?description組件列合并詳解

    在使用Vue的時(shí)候經(jīng)常會(huì)涉及到表格的列合并,下面這篇文章主要給大家介紹了給大家Vue2?Element?description組件列合并的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • vue2.0 如何把子組件的數(shù)據(jù)傳給父組件(推薦)

    vue2.0 如何把子組件的數(shù)據(jù)傳給父組件(推薦)

    這篇文章主要介紹了vue2.0 如何把子組件的數(shù)據(jù)傳給父組件,需要的朋友可以參考下
    2018-01-01
  • 解決vue項(xiàng)目Error:Cannot find module‘xxx’類報(bào)錯(cuò)問題

    解決vue項(xiàng)目Error:Cannot find module‘xxx’類報(bào)錯(cuò)問題

    當(dāng)npm運(yùn)行報(bào)錯(cuò)Error:Cannot find module 'xxx'時(shí),通常是因?yàn)閚ode_modules文件或依賴未正確安裝,解決步驟包括刪除node_modules和package-lock.json文件,重新運(yùn)行npm install,并根據(jù)需要安裝額外插件,若網(wǎng)絡(luò)問題導(dǎo)致安裝失敗
    2024-10-10
  • 詳解Nuxt.js部署及踩過的坑

    詳解Nuxt.js部署及踩過的坑

    這篇文章主要介紹了詳解Nuxt.js部署及踩過的坑,Nuxt.js 提供了兩種發(fā)布部署應(yīng)用的方式:服務(wù)端渲染應(yīng)用部署 和 靜態(tài)應(yīng)用部署。本文主要說說服務(wù)端渲染應(yīng)用部署,感興趣的小伙伴們可以參考一下
    2018-08-08
  • vue中控制mock在開發(fā)環(huán)境使用,在生產(chǎn)環(huán)境禁用方式

    vue中控制mock在開發(fā)環(huán)境使用,在生產(chǎn)環(huán)境禁用方式

    這篇文章主要介紹了vue中控制mock在開發(fā)環(huán)境使用,在生產(chǎn)環(huán)境禁用方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue中關(guān)于click.stop的用法

    vue中關(guān)于click.stop的用法

    這篇文章主要介紹了vue中關(guān)于click.stop的用法,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vite項(xiàng)目如何集成eslint和prettier

    vite項(xiàng)目如何集成eslint和prettier

    這篇文章主要介紹了vite項(xiàng)目如何集成eslint和prettier問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • vue2和vue3子組件父組件之間的傳值方法

    vue2和vue3子組件父組件之間的傳值方法

    在組件化開發(fā)的過程中難免會(huì)遇見子組件和父組件之間的通訊那么這里講關(guān)于vue2和vue3不同的通訊方式,文中有詳細(xì)的代碼示例供大家參考,感興趣的同學(xué)可以閱讀下
    2023-05-05
  • 使用yarn?build?打包vue項(xiàng)目時(shí)靜態(tài)文件或圖片未打包成功的問題及解決方法

    使用yarn?build?打包vue項(xiàng)目時(shí)靜態(tài)文件或圖片未打包成功的問題及解決方法

    這篇文章主要介紹了使用yarn?build?打包vue項(xiàng)目時(shí)靜態(tài)文件或圖片未打包成功的問題及解決方法,解決方法不復(fù)雜通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-08-08
  • vue3+vite2中使用svg的方法詳解(親測可用)

    vue3+vite2中使用svg的方法詳解(親測可用)

    vue2的時(shí)候使用的是字體圖標(biāo),缺點(diǎn)就是比較單一,到了vue3,相信瀏覽器的性能起來,所以這里記錄一下,下面這篇文章主要給大家介紹了關(guān)于vue3+vite2中使用svg的相關(guān)資料,需要的朋友可以參考下
    2022-08-08

最新評論

乌拉特前旗| 双辽市| 文水县| 通榆县| 长阳| 德安县| 新巴尔虎右旗| 台江县| 江山市| 凯里市| 拜城县| 资兴市| 洛隆县| 中牟县| 静宁县| 高台县| 望江县| 汤阴县| 田东县| 霍山县| 拉孜县| 衡东县| 姜堰市| 陈巴尔虎旗| 高碑店市| 巴彦县| 瓦房店市| 佛山市| 固安县| 达尔| 麦盖提县| 阿瓦提县| 柳林县| 理塘县| 怀远县| 平阳县| 子长县| 扎囊县| 延吉市| 临清市| 吴桥县|