vue怎么实现跨域问题
时间: 2024-01-30 17:04:23 浏览: 83
Vue可以通过以下几种方式解决跨域问题:
1.使用代理
在vue.config.js中配置proxy字段,将请求转发到目标地址。例如:
```
module.exports = {
devServer: {
proxy: {
'/api': {
target: 'http://localhost:3000',
changeOrigin: true
}
}
}
}
```
2.使用CORS
在服务端设置Access-Control-Allow-Origin头,允许指定域名的请求。例如:
```
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "http://localhost:8080");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
```
3.JSONP
利用<script>标签可以跨域的特性,将数据包装成JSONP格式,通过动态插入<script>标签来获取数据。例如:
```
function jsonp(url, callback) {
const script = document.createElement('script');
script.src = url + '?callback=' + callback;
document.body.appendChild(script);
}
jsonp('http://localhost:3000/api', function(data) {
console.log(data);
});
```
阅读全文