在不同域之间访问是比较常见,在本地调试访问远程服务器。。。。这就是有域问题。
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")
})