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

如何通過Vue自帶服務(wù)器實現(xiàn)Ajax請求跨域(vue-cli)

 更新時間:2023年10月27日 12:06:04   作者:南瓜骨頭  
從A頁面訪問到B頁面,并且要獲取到B頁面上的數(shù)據(jù),而兩個頁面所在的端口、協(xié)議和域名中哪怕有一個不對等,那么這種行為就叫跨域,這篇文章給大家介紹如何通過Vue自帶服務(wù)器實現(xiàn)Ajax請求跨域(vue-cli),感興趣的朋友一起看看吧

通過Vue自帶服務(wù)器實現(xiàn)Ajax請求跨域(vue-cli)

跨域

  • 原理:從A頁面訪問到B頁面,并且要獲取到B頁面上的數(shù)據(jù),而兩個頁面所在的端口、協(xié)議和域名中哪怕有一個不對等,那么這種行為就叫跨域。
  • 注意:類似通過請求進(jìn)行跨域的,大部分情況下并不是發(fā)不出去,也有可能是被瀏覽器攔截了。

為什么端口、協(xié)議和域名有一個不同就不能跨域?

  • 同源策略:同源策略是一種約定,它是瀏覽器最核心也最基本的安全功能,如果缺少了同源策略,瀏覽器很容易受 到 XSS、CSRF 等攻擊。同源是指"協(xié)議+域名+端口"三者相同,即便兩個不同的域名指向同一個 ip 地址, 也是非同源的。

實現(xiàn)方案(需要安裝axios)

在這里插入圖片描述

  • 原理:瀏覽器和瀏覽器之間避免不了同源策略,但是通過服務(wù)器和服務(wù)器之間的傳遞是不需要同源策略的。
    • 當(dāng)在【頁面】中點(diǎn)擊【發(fā)送請求】,則請求會去連接同在【8080服務(wù)器】
    • 再通過【8080服務(wù)器】的請求,連接到【8081服務(wù)器】的程序
    • 【8081服務(wù)器】響應(yīng),將數(shù)據(jù)傳回【8080服務(wù)器】
    • 【8080服務(wù)器】響應(yīng),將數(shù)據(jù)傳到【頁面】上

安裝axios

  • 原理:是一種基于promise實現(xiàn)對ajax技術(shù)的一種封裝,可以滿足于各種前端框架,用于負(fù)責(zé)與后端交互,get、post后端接口信息,相當(dāng)前后端的窗口。
  • 安裝方法:
    • 打開CMD窗口,通過命令跳轉(zhuǎn)到當(dāng)時安裝Vue的文件路徑中
    • 在窗口中輸入npm i axios,當(dāng)出現(xiàn)added 6 packages in 2m,就安裝成功了
  • 使用方法:XXX.vue文件中,在<script></script>的第一行輸入import axios from 'axios'即可(如果你的axios安裝時弄了一個文件夾存放的話,那么將'axios'=>'./文件名/axios')

啟動Vue內(nèi)置服務(wù)器8080的代理功能,在vue.config.js中進(jìn)行配置

第一種:簡單開啟

  • 原理:優(yōu)先從proxy的路徑上去訪問get('請求路徑')的資源,也就是(拼接)http://localhost:8000/請求路徑,如果沒有找到資源,則再從代理服務(wù)器上訪問資源。
  • 缺點(diǎn):這種配置方法不適合支持配置多個代理。
    • 這種單一的從8080端口=>8081端口當(dāng)然可行,但是還有8082、8083、8084…(這么多端口每個配一遍就完了?。。。?/li>
// vue.config.js文件
devServer : {
    // Vue內(nèi)置服務(wù)器8080端口
    proxy : 'http://localhost:8000'
}
// XXX.vue文件
axios.get('/請求路徑').then(
    response => {
        // response.data:響應(yīng)數(shù)據(jù)信息
        console.log('響應(yīng)數(shù)據(jù)', response.data);
    },
    error => {
        // error.message:出現(xiàn)錯誤時,顯示錯誤信息
        console.log('錯誤信息', error.message);
    }
)

第二種:高級開啟(常用)

devServer : {
    proxy : {
      // 凡事請求路徑以/api開始的,都走這個代理
      '/api' : {
        // 端口路徑
        target : 'http://localhost:8000',
        // 重寫'/api'路徑
        pathRewrite : {'^/api':''},
        // 默認(rèn)值true:表示支持 websocket
        ws : true,
        // 默認(rèn)值true:表示改變起源(讓目標(biāo)服務(wù)器不知道真正的起源)
        changeOrigin : true
      },
      '/foo' : {
        target : '<other_url>'
      }
    }
  }
  • 注意:pathRewrite : {'^/api':''}原本是沒有的,可以自己添加,用來重寫’/api’路徑,
    • 以上的意思是將’/api’路徑改為空,也就是請求路徑前不用寫’/api’
// XXX.vue文件
axios.get('(如果沒設(shè)置pathRewrite的話,這里是要加上/api的)/請求路徑').then(
    response => {
        // response.data:響應(yīng)數(shù)據(jù)信息
        console.log('響應(yīng)數(shù)據(jù)', response.data);
    },
    error => {
        // error.message:出現(xiàn)錯誤時,顯示錯誤信息
        console.log('錯誤信息', error.message);
    }
)

到此這篇關(guān)于通過Vue自帶服務(wù)器實現(xiàn)Ajax請求跨域(vue-cli)的文章就介紹到這了,更多相關(guān)vue ajax請求跨域內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue.js實現(xiàn)一個SPA登錄頁面的過程【推薦】

    Vue.js實現(xiàn)一個SPA登錄頁面的過程【推薦】

    本篇文章主要介紹了Vue.js寫一個SPA登錄頁面過程的相關(guān)知識,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-04-04
  • Vue3組件通信的方法大全

    Vue3組件通信的方法大全

    在Vue3中,組件通信仍然是一個非常重要的話題,因為在大多數(shù)應(yīng)用程序中,不同的組件之間需要進(jìn)行數(shù)據(jù)傳遞和交互,本文給大家介紹了Vue3組件通信的方法大全,需要的朋友可以參考下
    2025-09-09
  • vue集成百度UEditor富文本編輯器使用教程

    vue集成百度UEditor富文本編輯器使用教程

    這篇文章主要為大家詳細(xì)介紹了vue集成百度UEditor富文本編輯器的使用教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • 通過npm或yarn自動生成vue組件的方法示例

    通過npm或yarn自動生成vue組件的方法示例

    這篇文章主要介紹了通過npm或yarn自動生成vue組件的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • vue樹形結(jié)構(gòu)數(shù)據(jù)處理的方法總結(jié)

    vue樹形結(jié)構(gòu)數(shù)據(jù)處理的方法總結(jié)

    在項目開發(fā)的過程中,會經(jīng)常使用樹形結(jié)構(gòu)數(shù)據(jù),前后端交互都會對數(shù)據(jù)進(jìn)行處理,后端返回的數(shù)據(jù)前端有的時候不能直接使用需要轉(zhuǎn)換,本文小編整理了一些項目中用到的處理方法,需要的朋友可以參考下
    2023-11-11
  • vue項目中各文件的使用說明

    vue項目中各文件的使用說明

    這篇文章主要介紹了vue項目中各文件的使用說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 詳解VUE里子組件如何獲取父組件動態(tài)變化的值

    詳解VUE里子組件如何獲取父組件動態(tài)變化的值

    這篇文章主要介紹了詳解VUE里子組件如何獲取父組件動態(tài)變化的值,子組件通過props獲取父組件傳過來的數(shù)據(jù),子組件存在操作傳過來的數(shù)據(jù)并且傳遞給父組件,需要的朋友可以參考下
    2018-12-12
  • Element-ui的table中使用fixed后出現(xiàn)行混亂情況的解決

    Element-ui的table中使用fixed后出現(xiàn)行混亂情況的解決

    這篇文章主要介紹了Element-ui的table中使用fixed后出現(xiàn)行混亂情況的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue 純js監(jiān)聽滾動條到底部的實例講解

    vue 純js監(jiān)聽滾動條到底部的實例講解

    今天小編就為大家分享一篇vue 純js監(jiān)聽滾動條到底部的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • Vue下滾動到頁面底部無限加載數(shù)據(jù)的示例代碼

    Vue下滾動到頁面底部無限加載數(shù)據(jù)的示例代碼

    本篇文章主要介紹了Vue下滾動到頁面底部無限加載數(shù)據(jù)的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04

最新評論

资兴市| 泗阳县| 枣强县| 师宗县| 嘉峪关市| 蒙山县| 安平县| 沁水县| 阜康市| 上饶市| 彭泽县| 海南省| 鄂温| 轮台县| 奉节县| 吴旗县| 兴义市| 九江市| 汕尾市| 长阳| 石楼县| 南开区| 依安县| 岑溪市| 石阡县| 夏邑县| 新竹县| 青州市| 朝阳市| 陇南市| 乌兰县| 江北区| 嘉义县| 全南县| 肃宁县| 青海省| 博爱县| 佛学| 枞阳县| 武定县| 安达市|