求大神解决跨域问题

ccc年 2020-12-17 04:39:13
本小白这个项目前端架构是vue,用的npm在本地端口上测试前端程序,忽然有一个项目要求访问服务器的图片,服务器用的是apache,我在代码里直接用的服务器http链接请求图片,问题就在这,我在本机的浏览器上输入链接可以正常访问图片,但在项目里引用这个链接就会报跨域错误。既然浏览器能正常访问就应该代表跨域的问题不出在后端上,那么前端到底需要配置哪些东西呢
...全文
2672 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccc年 2020-12-18
  • 打赏
  • 举报
回复
引用 2 楼 丰云的回复:

let crossOrigins = "http://www.xxx.com:80,http://xxx.com:80";
app.all("*", function (req, res, next) {
  if (crossOrigins.indexOf(req.headers.origin) >= 0) {
    res.header("Access-Control-Allow-Origin", req.headers.origin);
  }
参考下nodejs版的服务端代码处理方式
但是我能在浏览器上直接输入服务器图片连接就能访问,但是在本地localhost上部的就闲时间跨域,是不是nodejs本地的服务器和我本地的项目产生了跨域而和后端服务器没关系呢
丰云 2020-12-18
  • 打赏
  • 举报
回复

let crossOrigins = "http://www.xxx.com:80,http://xxx.com:80";
app.all("*", function (req, res, next) {
  if (crossOrigins.indexOf(req.headers.origin) >= 0) {
    res.header("Access-Control-Allow-Origin", req.headers.origin);
  }
参考下nodejs版的服务端代码处理方式
丰云 2020-12-18
  • 打赏
  • 举报
回复
跨域问题本质是浏览器的同源策略引起的,但浏览器的安全策略不可能修改,因此,只能服务端来解决。 你需要做的就是在服务端的入口添加允许跨域的白名单
丰云 2020-12-18
  • 打赏
  • 举报
回复
引用 7 楼 m0_52902349 的回复:
[quote=引用 6 楼 丰云的回复:]任何浏览器,通过输入url访问网络资源,是不可能产生跨域问题的。 所有跨域问题的产生,都是在已经打开的某个页面内部,再次访问其他来源的网络资源,才会产生跨域问题。
大佬,我还是有一点疑惑,就是这个跨域是在前后端产生,还是在我发布项目的端口和本地dev服务器上产生的呢[/quote] 具体说,跨域是浏览器对你访问的资源和当前所在页面的来源,做了一个判断,如果是同一个来源,就通过,不是同一个来源,就报跨域。 所以,跨域问题是浏览器产生的。 跟后端的服务端口、服务器没有直接关系。 但有时候我们需要在一个网站里打开另外一个授权的网站的资源,怎么办呢?所以浏览器就开放了白名单认证功能。口语,你可以这么理解。 所谓白名单认证,就是在服务端给跨域而来的访问,打上允许访问的标记,这样浏览器接收到这个跨域访问的回执,也会放行。
ccc年 2020-12-18
  • 打赏
  • 举报
回复
引用 6 楼 丰云的回复:
任何浏览器,通过输入url访问网络资源,是不可能产生跨域问题的。 所有跨域问题的产生,都是在已经打开的某个页面内部,再次访问其他来源的网络资源,才会产生跨域问题。
大佬,我还是有一点疑惑,就是这个跨域是在前后端产生,还是在我发布项目的端口和本地dev服务器上产生的呢
丰云 2020-12-18
  • 打赏
  • 举报
回复
任何浏览器,通过输入url访问网络资源,是不可能产生跨域问题的。 所有跨域问题的产生,都是在已经打开的某个页面内部,再次访问其他来源的网络资源,才会产生跨域问题。
丰云 2020-12-18
  • 打赏
  • 举报
回复
参考文章 建议认真理解什么叫同源策略,认真理解跨域产生的过程以及根本原因
09-SSH企业案例_CRM-客户管理系统(6天) day01_SVN安装_CRM注册页面 day02_登录_客户管理模块 day03_客户管理&联系人管理 day04_联系人管理 day05_CRM权限拦截器_SSH纯注解整合 day06_Easyui&列表展示 10-Oracle数据库(学习4天) Oracle_day01,安装_函数查询and条件查询 Oracle_day02,多表查询_子查询_集合运算 Oracle_day03,DDL,DML,视图,PLSQL编程 Oracle_day04,游标,存储过程,存储函数,触发器 11-Maven(学习2天) Maven_day01._Maven安装.Maven整合SSH Maven_day02.Maven整合SSH.私服安装配置 12-SSH企业案例2_ERP_项目整合(学习15天) ERP_day01_ERP简介,软件设局.环境搭建.部门管理列表查询 ERP_day02_Dep部门表的_条件查询,分页,增加,删除 ERP_day03_Dep代码抽取_代码生成器_员工管理完善_商品管理完善 ERP_day04_登录与密码管理_菜单动态读取_静态页面传参 ERP_day05_采购新增_订单_订单详细实现 ERP_day06_采购查询_审核_确认_入库 ERP_day07_销售查询_出库_确认出库_挂菜单 ERP_day08_按类型销售饼状图_按年份销售趋势图 ERP_day09JavaMail发送预警邮件_使用Quartz任务调度框架_自动发送邮件 ERP_day10_PIO框架应用_订单导入_导出_HSSF读写Excel表格档案 ERP_day11_CXF框架_红日物流BOS系统_ERP物流信息管理 ERP_day12_Easyui--Thee插件_权限管理_权限菜单_用户角色权限 ERP_day14_Shoir颗粒认证-redis缓存机制提升软件性能_svn协作开发 ERP_day15项目展示 13-Mybatis(学习2天) MyBatis_day01;mybatis简介--入门 MyBatis_day02.输入输出映射.动态sql-关联查询.myBatis整合spring,逆向工程 14-SpringMVC(学习2天) SpringMvc_day01.spring入门-springMVC三大核心器(视图解析器,处理器映射器and适配器).springMvc整合myBatis SpringMvc_day02高级参数.上传图片.JSON数据交互.拦截器 15-SSM企业案例-客户管理系统(学习1天) SpringMvc_SSM综合练习.分页.增删改查 16-SSM分布式案例-互联网商城(学习13天) day01_电商介绍--互联网术语-SOA-分布式-集群介绍-环境配置-框架搭建 day02_Dubbo介绍_dubbo框架整合_商品列表查询实现_分页_逆向工程 day03_Git day04_门户网站介绍&商城首页搭建&内容系统创建&CMS实现 day05_首页轮播图显示实现,Redis环境搭建,Redis实现缓存 day06_solr索引库搭建&solr搜索功能实现&图片显示问题解决 day07_solr集群搭建_全局异常处理 day08_activeMQ介绍_搭建_解决同步索引库问题 day09_FreeMark入门_静态化页面标签介绍_静态化页面实现 day10_Nginx代理详解..单点登录系统工程搭建_接口文档讲解 day11_单点登录系统实现_用户名回显_cookie跨域问题详解 day12 day13 17品优购电商系统开发(学习20天) 1分布式框架-Dubbox 2品牌管理 3规格及模板管理 4安全框架与商家入驻审核 5商品管理1 6商品管理2 7商品管理3 8广告管理与缓存解决方案 9搜索解决方案-Solr-1 10搜索解决方案-Solr-2 11搜索解决方案-Solr-3 12网页静态化解决方案-Freemarker 13消息中间件解决方案JMS 14SpringBoot框架与短信解决方案 15单点登录解决方案CAS 16购物车解决方案 17跨域解决方案与提交订单 18微信扫码支付 19秒杀解决方案 20品优购系统业务分析 1集群概述 2Zookeeper集群 2品优购电商系统部署 3SolrCloud集群 4RedisCluster集群 5开源数据库中间件-MyCat 6Nginx的安装与启动 7Nginx静态网站部署 8

87,995

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧