在不同域之間訪問是比較常見,在本地調試訪問遠程服務器。。。。這就是有域問題。
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')
使用:
服務器提供接口:
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") })