使用vue.js的proxyTable解決跨域問題

當(dāng)前端工程師搭建好頁面開始與后端進(jìn)行聯(lián)調(diào)時,總是會面對跨域的問題:

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.”

解決辦法:

進(jìn)入你的vue項(xiàng)目下 -> config -> index.js,里面的dev對象下有一個proxyTable的屬性,這個參數(shù)主要是一個地址映射表,可以幫助我們將復(fù)雜的url簡化。

如要請求的地址是api.xxx.com/list/1,可以對proxyTable進(jìn)行如下配置:

    proxyTable: {
        '/list': {
        target: 'http://api.xxx.com',
        pathRewrite: {
          '^/list': '/list'
        }
      }
    }

如此一來就可以用/list/1來代替http://api.xxx.com/1。

那么又是如何解決跨域問題的呢?其實(shí)在上面的'list'的參數(shù)里有一個changeOrigin參數(shù),接收一個布爾值,如果設(shè)置為true,那么本地會虛擬一個服務(wù)端接收你的請求并代你發(fā)送該請求,這樣就不會有跨域問題了,當(dāng)然這只適用于開發(fā)環(huán)境。增加的代碼如下所示:

    proxyTable: {
      '/list': {
        target: 'http://api.xxxxxxxx.com',
        changeOrigin: true,
        pathRewrite: {
          '^/list': '/list'
        }
      }
    }

如果想要一套代碼兼容開發(fā)和生產(chǎn)環(huán)境,避免在開發(fā)環(huán)境和生產(chǎn)環(huán)境之間切換時,頻繁修改接口調(diào)用的代碼??梢宰魅缦屡袛啵?/p>

    let urlApi = ''
    let url = window.location.href
    if(url.indexOf('8080') > -1){
        urlApi = '/list/1/xxx'
    }else{
        urlApi = 'http://api.xxxxxxxx.com/1/xxx'
    }

參考文檔:https://vuejs-templates.github.io/webpack/proxy.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,724評論 19 139
  • 前言:對于跨域請求,很早之前就有去了解過,但因?yàn)橐恢标P(guān)注的都是服務(wù)器后端開發(fā),故也就僅僅停留在概念的理解上而沒有機(jī)...
    ken_ljq閱讀 90,242評論 6 128
  • 什么是跨域? 2.) 資源嵌入:、、、等dom標(biāo)簽,還有樣式中background:url()、@font-fac...
    電影里的夢i閱讀 2,479評論 0 5
  • 在這篇博文里面我打算寫兩個《Effective C++》中的原則,因?yàn)榈谝粋€原則太短了?,F(xiàn)在介紹第一個原則:條款1...
    Stroman閱讀 358評論 0 0
  • 馬上又到生日了,今年又是在外地度過。不知有幾年沒在生日這天吃到爸爸做的長壽面了,曾經(jīng)一碗面一個荷包蛋,就覺得好...
    安安小寶貝兒閱讀 241評論 0 0

友情鏈接更多精彩內(nèi)容