Vue——介面請求支援跨域

小欣兒發表於2018-08-28

在不同域之間訪問是比較常見,在本地除錯訪問遠端伺服器。。。。這就是有域問題。

VUE解決通過proxyTable:

在 config/index.js 配置檔案中

dev: {
env: require(‘./dev.env’),
port: 8080,
autoOpenBrowser: true,
assetsSubDirectory: ‘static’,
assetsPublicPath: ‘/’,

//proxyTable: {},
proxyTable: proxyConfig.proxyList,

// CSS Sourcemaps off by default because relative paths are “buggy”
// with this option, according to the CSS-Loader README
// (https://github.com/webpack/css-loader#sourcemaps)
// In our experience, they generally work as expected,
// just be aware of this issue when enabling this option.
cssSourceMap: false
}

劃紅線部分就是設定代理引數:

在config目錄建立,proxyConfig.js 寫入

module.exports = {
  proxyList: {
        '/apis': {
            // 測試環境
            target: 'https://goods.footer.com',  // 介面域名
            changeOrigin: true,  //是否跨域
            pathRewrite: {
                '^/apis': ''   //需要rewrite重寫的,
            }              
        }
  }
}

在 config/index.js 配置檔案上邊引入

var proxyConfig = require('./proxyConfig') //注意加./否則會報module找不到的錯誤

這裡寫圖片描述

使用:

伺服器提供介面:
https://goods.footer.com/health/list

Vue請求

var obj = {
   pageSize: 20
}
this.$http.get( '/apis/health/list',{params: obj})
            .then(function(res){
       // 成功回撥
            },function(){
              alert("error")
            })

注意請求路徑的開頭是/apis哦。
網上找了好多方法,這個方法親測有效呢,希望可以幫到各位。

原文連結:vue proxyTable 介面跨域請求除錯(五)

相關文章