vue+axios配置代理解决跨域后报404
时间: 2023-07-29 11:11:37 浏览: 287
如果你在使用 Vue + Axios 进行跨域请求时出现了 404 错误,可能是代理配置有误导致的。
首先,你需要在项目根目录下的 `vue.config.js` 文件中进行代理配置,例如:
```javascript
module.exports = {
devServer: {
proxy: {
'/api': {
target: 'http://localhost:3000', // 代理目标地址
changeOrigin: true, // 开启代理
pathRewrite: {
'^/api': '' // 将请求地址中的 /api 替换为空字符串
}
}
}
}
}
```
以上代码表示将请求地址中以 `/api` 开头的请求转发到 `http://localhost:3000` 地址,开启代理并将请求地址中的 `/api` 替换为空字符串。
接下来,在 Axios 中发送请求时,请求地址应该写成相对地址,例如:
```javascript
axios.get('/api/user')
.then(response => {
console.log(response)
})
.catch(error => {
console.log(error)
})
```
以上代码表示发送一个 GET 请求到 `/api/user` 地址,因为我们在代理配置中已经将请求转发到了 `http://localhost:3000`,所以实际上会发送一个请求到 `http://localhost:3000/user` 地址。
如果你仍然遇到 404 错误,可能是因为代理目标地址配置有误,或者请求地址中的路径有误。你可以通过打印请求地址来检查请求是否发送到了正确的地址。
阅读全文