Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

vue跨域解决方案

作者:ι错过了   发布日期:2025-09-01   浏览:52

// 在 Vue 项目中解决跨域问题通常有多种方法,以下是几种常见的解决方案示例代码:

// 1. 使用代理服务器(推荐方式)
// 在 vue.config.js 文件中配置代理:
module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'http://example.com', // 目标API服务器的地址
        changeOrigin: true,           // 是否改变请求源信息
        pathRewrite: {
          '^/api': ''                 // 重写路径,去掉/api前缀
        }
      }
    }
  }
};

// 2. 使用 CORS (Cross-Origin Resource Sharing)
// 在后端服务器配置CORS头,允许特定域名访问资源。例如在Express中:
const express = require('express');
const cors = require('cors');
const app = express();

app.use(cors({
  origin: 'http://yourdomain.com', // 允许访问的前端域名
  credentials: true               // 允许发送Cookie
}));

// 3. JSONP(仅限GET请求)
// 在 Vue 组件中使用 JSONP 请求:
methods: {
  fetchJsonpData() {
    this.$jsonp('http://example.com/jsonp')
      .then(json => {
        console.log(json);
      })
      .catch(err => {
        console.error(err.message);
      });
  }
}

// 4. Nginx 反向代理
# 在 Nginx 配置文件中添加以下内容:
location /api/ {
  proxy_pass http://example.com;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
}

以上是几种常见的 Vue 跨域解决方案及其示例代码。根据你的项目需求选择合适的方式进行配置。

上一篇:vue3 this.$refs

下一篇:vue3动态组件

大家都在看

vue js for循环

vue.config.js 配置

vue.config.js configu

node.js vue

vue3组件传值的方式

vue 图表组件

vue3+vite+ts

vue3watch监听多个变量

vue查看版本

vue3 reactive对象重新赋值

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站