在vue中配置跨域,发送请求
时间: 2024-05-05 22:22:59 浏览: 104
在Vue中配置跨域可以通过修改配置文件或者使用插件来实现。下面分别介绍两种方法:
1. 修改配置文件
在Vue的config文件夹下的index.js中,可以找到如下代码:
```javascript
module.exports = {
dev: {
// ...
},
// ...
}
```
在其中添加如下代码:
```javascript
module.exports = {
dev: {
// ...
proxyTable: {
'/api': {
target: 'http://localhost:3000', // 接口的域名
changeOrigin: true, // 如果接口跨域,需要进行这个参数配置
pathRewrite: {
'^/api': '' // 将/api替换为''
}
}
}
},
// ...
}
```
其中,proxyTable表示代理表;/api表示需要代理的接口路径;target表示接口的域名;changeOrigin表示是否跨域;pathRewrite表示路径重写。
然后在发送请求时,将接口路径改为/api/即可。
例如:
```javascript
this.$http.get('/api/userinfo').then((response) => {
console.log(response.data)
})
```
2. 使用插件
可以使用axios或者vue-resource等插件来发送跨域请求。以axios为例,可以在main.js中添加如下代码:
```javascript
import axios from 'axios'
Vue.prototype.$http = axios.create({
baseURL: 'http://localhost:3000', // 接口的域名
timeout: 5000, // 请求超时时间
withCredentials: true, // 允许携带cookie
crossDomain: true // 允许跨域
})
```
然后在组件中使用:
```javascript
this.$http.get('/userinfo').then((response) => {
console.log(response.data)
})
```
其中,baseURL表示接口的域名;timeout表示请求超时时间;withCredentials和crossDomain表示允许携带cookie和允许跨域。
阅读全文