vue配置跨域不生效怎么办?

vue配置跨域不生效怎么办?

接手别人的项目 下面这样请求报跨域 也重启试了

mounted(){

axios.get('api/banner').then(res=>{

console.log(res)

})

}

下面这些跨域配置都是我自己配的
vue.config.js如下

let devServer = {

host: 'localhost',

port: 8080,

https: false,

open: true,

proxy: {

'/api': {

target: 'https://laravel.godehi.cn/',

ws: false,

port: 8080,

changeOrigin: true,

pathRewrite: {

'^/api': ''

},

}

}

}

config目录下index.js配置如下

const configObj = {

isDevelop: (isDev || isTest),

...configDict[currentConfigKey],

// h5模式宽高

canvasH5Width: 500,//375

canvasH5Height: 500,//644

dev: {

host: 'localhost',

port: 8080,

https: false,

open: true,

proxy: {

'/api': {

target: 'https://laravel.godehi.cn/',//设置你调用的接口域名和端口号 别忘了加http

ws: false,

port: 8080,

changeOrigin: true,

pathRewrite: {

'^/api': ''

}

}

}

}

}

export default configObj

根目录下还有一个config.json文件 这个文件我没动 我看axios全局配置的文件里面axios的baseURL就是指向这个baseURL的 axios.defaults.baseURL = $config.baseURL

config.json文件如下

{

"port": "4000",

"adminAccount": "admin",

"db": {

"servername": "localhost",

"DATABASE": "admin",

"port": 27017,

"user": "",

"pass": "",

"authSource": "admin"

},

"baseURL": "https://laravel.godehi.cn/"

}


回答:

onfig.json件里的baseURL改为空串试试,这样访问才能是http://localhost:port/api/banner
vue.config.js文件里的

 pathRewrite: {

'^/api': ''

}

这段去掉,不需要重写path,因为你的接口里是有api这个context-path

以上是 vue配置跨域不生效怎么办? 的全部内容, 来源链接: utcz.com/p/936250.html

回到顶部