当前位置: 首页 > news >正文

vue-axios跨域问题

vue-axios跨域问题

    • 跨域原因
    • 现象
    • 前端解决方案

跨域原因

跨域:浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域。
在前后端分离的模式下,前后端的域名是不一致的,此时就会发生跨域访问问题。跨域问题来源于JavaScript的同源策略,即只有 协议+主机名+端口号(如存在)相同,则允许相互访问。也就是说JavaScript只能访问和操作自己域下的资源,不能访问和操作其他域下的资源。跨域问题是针对JS和ajax的。而axios是通过Promise实现对ajax技术的一种封装,也同样存在跨域问题。

现象

vue项目使用端口8080,后端项目使用端口9090,当在vue项目中使用axios直接请求后端9090端口api时,控制台报错
在这里插入图片描述

前端解决方案

在vue.config.js中配置允许跨域

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  devServer: {
    proxy: {
        // 匹配以 /login 开头的请求路径
        '/login': {
            // 目标服务器地址
            target: 'http://192.168.88.128:9090', 
            // 允许跨域
            changeOrigin: true, 
        }
    }
}
})

在使用axios请求后端接口时,省略服务器ip地址

    axios.get('/login', {
    params: {
      username: this.loginData.username,
      password: this.loginData.password
    }
    })
    .then(function (response) {
      console.log(response);
    })
    .catch(function (error) {
      console.log(error);
    });
``


这样,请求就不会报跨域错误了

http://www.dtcms.com/a/115091.html

相关文章:

  • 利用CNN卷积神经网络进行声呐图像分类
  • STM32常用外设寄存器介绍
  • golang并发原语groutine channel select sync包
  • vue2打包部署到nginx,解决路由history模式下页面空白问题
  • C++ —— 文件操作(流式操作)
  • Linux服务宕机,java服务导致的内存溢出
  • 公有云子账号认证的原理和步骤
  • 第十六章:向微服务迈进_《凤凰架构:构建可靠的大型分布式系统》
  • linux提权 corn 提权
  • 集成电流电压和功率采样输出的芯片
  • 字符串、列表、元组、字典
  • 学透Spring Boot — 017. 魔术师—Http消息转换器
  • C++中高精度运算问题
  • QT工程建立
  • JavaWeb餐厅点餐系统
  • c++中虚函数(virtual),重写(override),多态(重点介绍动态多态)
  • 《野史未必假》王磊
  • 视频分类的深度学习模型改为回归模型
  • turtle图形化编程等级考试考点汇总(适用于青少年编程学习)
  • 【数据分享】1999—2023年地级市的文化/体育/卫生/社会保障等公服设施相关指标(Shp/Excel格式)
  • 谷歌 AI 协作科学家
  • 【C++】多态详解
  • 告别过去,奔向未来
  • 8. RabbitMQ 消息队列 + 结合配合 Spring Boot 框架实现 “发布确认” 的功能
  • 在线oj平台测试报告(持续更新中)
  • 004_分支结构
  • 一个基于ragflow的工业文档智能解析和问答系统
  • 【AI提示词】学术论文阅读总结
  • FATFS备忘
  • MySQL——DQL的多表查询