vue 请求不同的域名,baseURL配置
1、index.jsproxyTable: {//解决跨域问题"/api":{//设置第一代理target: 'http://192.168.105.42:9090',//secure:false,//如果是https接口,需要配置这个参数changeOrigin: true,//如果接口跨域需要配置这个参数pathRewrite: {'^
·
1、index.js
proxyTable: { //解决跨域问题
"/api":{ //设置第一代理
target: 'http://192.168.105.42:9090',
//secure:false, //如果是https接口,需要配置这个参数
changeOrigin: true, //如果接口跨域需要配置这个参数
pathRewrite: {
'^/api': '/'
}
},
'/navy':{ // 设置第二个代理
target: "http://192.168.105.42:9095",
changeOrigin: true,
pathRewrite: {
'^/navy': '/'
}
},
},
2、main.js
axios.defaults.baseM1URL= "/api";
axios.defaults.baseM2URL= "/navy";
//对get请求传递过来的参数处理
function paramsToUrl(url, params) {
if (!params) return url
for (var key in params) {
if (params[key] && params[key] != 'undefined') {
if (url.indexOf('?') != -1) {
url += '&' + '' + key + '=' + params[key] || '' + ''
} else {
url += '?' + '' + key + '=' + params[key] || '' + ''
}
}
}
return url
}
function requireData(url,params,type,item){
if(!url) return false
switch(item){
case 'M1':
url=axios.defaults.baseM1URL+url
break;
case 'M2':
url=axios.defaults.baseM2URL+url
break;
default:
url=axios.defaults.baseM4URL+url
}
if(type==='get'){
url=paramsToUrl(url, params)
return new Promise((resolve,reject)=>{
Axios.get(url,params).then(res=>{
resolve(res.data)
}).catch(err=>{
reject(err)
})
})
}else{
return new Promise((resolve,reject)=>{
Axios.post(url,params).then(res=>{
resolve(res.data)
}).catch(err=>{
reject(err)
})
})
}
}
//->接口1的请求数据方法 IP地址为:http://192.168.105.42:9090调该方法
Vue.prototype.reqM1Service=function(url,params,type){
return requireData.call(this,url,params,type,'M1')
}
//->接口2的请求数据方法 IP地址为:http://192.168.105.42:9095调该方法
Vue.prototype.reqM2Service=function(url,params,type){
return requireData.call(this,url,params,type,'M2')
}
3、mine.vue
this.reqM1Service('/bsApi/Home/AddUserFeedback', params).then(
res => {
if(res.status == 200){
_this.$toast.success({
message: '提交成功',
forbidClick: true,
duration:1000
})
}
}
);
更多推荐
已为社区贡献13条内容
所有评论(0)