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

vue中調(diào)用HTTP請求的詳細步驟

 更新時間:2024年07月29日 10:17:01   作者:氦客  
這篇文章主要介紹了vue中調(diào)用HTTP請求的詳細步驟,文中通過代碼示例給大家講解的非常詳細,對大家的學習或工作有一定幫助,需要的朋友可以參考下

1. 本文環(huán)境

  • Vue版本 : 3.4.29
  • Node.js版本 : v20.15.0
  • 系統(tǒng) : Windows11 64位
  • IDE : VsCode 1.91.0

2. 訪問HTTP

Vue中,訪問HTTP,可以使用axios第三方庫。

axios 是一個基于 promise 的網(wǎng)絡請求庫,可以用于瀏覽器和 node.js。
axios使用簡單,包尺寸小且提供了易于擴展的接口。

2.1 安裝axios

CMD進入項目根目錄下,然后執(zhí)行如下命令,安裝axios

npm install axios

卸載的命令是 npm uninstall axios

2.2 編寫HTTP請求相關(guān)代碼

這里我們以請求http://www.baidu.com/接口,發(fā)起GET請求為例

<script setup lang="ts">
import axios from 'axios';
import { ref } from 'vue';

let message = ref("")

const loadBaiduInfo = async () => {
  let response = await axios.get('http://www.baidu.com/')
  message.value = response.data
}
</script>

<template>
  <div>
    <p> 數(shù)據(jù):{{ message }}</p>
    <button @click="loadBaiduInfo">獲取數(shù)據(jù)</button>
  </div>
</template>

<style scoped></style>

2.3 運行項目

運行項目,點擊獲取數(shù)據(jù)按鈕,發(fā)現(xiàn)沒有反應。
點擊F12,進入開發(fā)者工具,在Console中可以看到如下錯誤 : No 'Access-Control-Allow-Origin' header is present on the requested resource.

這個錯誤是什么原因呢 ? 是跨域問題。

2.4 跨域問題是什么

跨域問題,是Web開發(fā)中經(jīng)常遇到的一個問題,它主要涉及瀏覽器安全策略,防止惡意網(wǎng)站讀取另一個網(wǎng)站的數(shù)據(jù)。

跨域問題(Cross-Origin Resource Sharing,簡稱 CORS)出現(xiàn)在Web開發(fā)中,特別是進行前端(如JavaScript)編程時,嘗試從一個域(Domain)訪問另一個域的資源(如API接口、圖片、腳本等)。這是由于瀏覽器實施的同源策略(Same-origin policy)所引起的。

同源策略 是一項重要的安全措施,用于限制一個網(wǎng)頁上的腳本只能與同源的服務器交互,以防止惡意網(wǎng)站讀取另一個網(wǎng)站的數(shù)據(jù)。同源指的是兩個URL的協(xié)議、域名和端口號完全相同。如果這三個條件中任何一個不匹配,就認為是跨域。

2.5 解決跨域問題

那么怎么解決跨域問題呢 ?
只需要在vite.config.ts中,配置好代理服務器。

server: {
  //host: '0.0.0.0',
  //https : false,
  port: 18935,
  proxy: {
    '/myapi': {
      target: 'https://www.baidu.com',
      changeOrigin: true,
      rewrite: (path) => path.replace(/^\/myapi/, '')
    }
  }
},

然后將axios的請求也改成/myapi

let response = await axios.get('/myapi')

再次運行項目,可以發(fā)現(xiàn)接口訪問成功了

3. Post請求

發(fā)起一個 POST 請求

axios.post('/user', {
    firstName: 'Fred',
    lastName: 'Flintstone'
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

發(fā)起多個并發(fā)請求

function getUserAccount() {
  return axios.get('/user/12345');
}

function getUserPermissions() {
  return axios.get('/user/12345/permissions');
}

const [acct, perm] = await Promise.all([getUserAccount(), getUserPermissions()]);

// OR

Promise.all([getUserAccount(), getUserPermissions()])
  .then(function ([acct, perm]) {
    // ...
  });

到此這篇關(guān)于vue中調(diào)用HTTP請求的詳細步驟的文章就介紹到這了,更多相關(guān)vue調(diào)用HTTP請求內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解vue 路由跳轉(zhuǎn)四種方式 (帶參數(shù))

    詳解vue 路由跳轉(zhuǎn)四種方式 (帶參數(shù))

    這篇文章主要介紹了vue 路由跳轉(zhuǎn)四種方式 (帶參數(shù)),本文通過實例代碼給大家介紹的詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • vue require.context全局注冊組件的具體實現(xiàn)

    vue require.context全局注冊組件的具體實現(xiàn)

    本文主要介紹了vue require.context全局注冊組件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-05-05
  • 使用生成條形碼并打印和vue-print-nb以及報錯問題的解決

    使用生成條形碼并打印和vue-print-nb以及報錯問題的解決

    在TypeScript項目中,正確安裝vue3-print-nb并配置env.d.ts聲明模塊,添加tsconfig.json的include路徑,確保全局掛載以實現(xiàn)條形碼和批量打印功能
    2025-07-07
  • 詳解vue-cli 腳手架項目-package.json

    詳解vue-cli 腳手架項目-package.json

    本篇文章主要介紹了詳解vue-cli 腳手架項目-package.json,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • Vuex數(shù)據(jù)持久化實現(xiàn)的思路與代碼

    Vuex數(shù)據(jù)持久化實現(xiàn)的思路與代碼

    Vuex數(shù)據(jù)持久化可以很好的解決全局狀態(tài)管理,當刷新后數(shù)據(jù)會消失,這是我們不愿意看到的。這篇文章主要給大家介紹了關(guān)于Vuex數(shù)據(jù)持久化實現(xiàn)的思路與代碼,需要的朋友可以參考下
    2021-05-05
  • vue3自定義指令看完這篇就入門了

    vue3自定義指令看完這篇就入門了

    不同于vue2不需要被use使用,vue3的機制是你的指令必須要被注冊成方法的,這樣你才能全局使用到自定義指令,下面這篇文章主要給大家介紹了關(guān)于vue3自定義指令的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • Vue3+Vite項目中引入pinia和pinia-plugin-persistedstate的方法代碼

    Vue3+Vite項目中引入pinia和pinia-plugin-persistedstate的方法代碼

    這篇文章主要給大家介紹了關(guān)于Vue3+Vite項目中引入pinia和pinia-plugin-persistedstate的相關(guān)資料,Pinia是Vue.js的官方狀態(tài)管理庫,輕量且功能強大,支持模塊化和TypeScript,PiniaPluginPersistedState是一個插件,需要的朋友可以參考下
    2024-11-11
  • vue.js指令v-for使用以及下標索引的獲取

    vue.js指令v-for使用以及下標索引的獲取

    今天小編就為大家分享一篇關(guān)于vue.js指令v-for使用以及下標索引的獲取,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • vue setInterval 定時器失效的解決方式

    vue setInterval 定時器失效的解決方式

    這篇文章主要介紹了vue setInterval 定時器失效的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • vue組件的路由高亮問題解決方法

    vue組件的路由高亮問題解決方法

    這篇文章主要給大家介紹了關(guān)于vue組件的路由高亮問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05

最新評論

固阳县| 申扎县| 武胜县| 永胜县| 二连浩特市| 武川县| 乐安县| 枣阳市| 阆中市| 陈巴尔虎旗| 通化市| 团风县| 资兴市| 留坝县| 通州区| 凤山县| 雷州市| 南江县| 建瓯市| 苍南县| 闽侯县| 湘乡市| 张家界市| 左云县| 赤城县| 东台市| 临漳县| 玛沁县| 高要市| 咸阳市| 祁阳县| 波密县| 永嘉县| 诏安县| 鹿邑县| 即墨市| 大连市| 锦屏县| 穆棱市| 桂平市| 安仁县|