首页 > 前端开发 > 正文

web前端开发怎么实现跨域 详解如何解决vue开发请求数据跨域的问题(基于浏览器的配置解决)

2023-10-13 07:45:48 | 我爱编程网

对于前端开发比较关注的小伙伴们一定非常关心web前端开发怎么实现跨域 详解如何解决vue开发请求数据跨域的问题(基于浏览器的配置解决),今天我爱编程网小编为大家整理了以下内容,下面一起来看看吧。

web前端开发怎么实现跨域 详解如何解决vue开发请求数据跨域的问题(基于浏览器的配置解决)

前端跨域问题有哪些常用的解决方式

自己搭一个小型服务器就可以了。 我爱编程网

或者webstorm和brackets都有自己集成的小型服务器,能解决跨域问题。

还有一种方法,就是如果是chrome浏览器的话

这里加上“--allow-file-access-from-files”也可以解决跨域问题

web前端开发怎么实现跨域 详解如何解决vue开发请求数据跨域的问题(基于浏览器的配置解决)

前端跨域如何解决?

什么是跨域?
跨域是通俗的说是从一个域名去请求另一个域名的资源。比如从 www.baidu.com 页面去请求 www.taobao.com 的资源。
跨域严格一点来说:两个域名只要协议,域名,端口中只要有一个不同,就被成为跨域

浏览器为什么要限制跨域?
只有同域才可以拿到存在cookie中的信息,防止坏人随意拿到我们的信息去做坏事

在团队的配置中,我们为了减少前端对后端的依赖,提高开发效率,使前后端职责更清晰等等因素,我们不得不面对跨域的问题,那我们该怎么解决呢?

1、 JSONP
原理:浏览器对script的资源引用没有同源限制,同时资源加载到页面后会立即执行,所以通过动态插入script标签即可达到跨域的请求
特点:数据为json格式
缺点:不能post

2、 CORS
原理 : cors(Cross-Origin Resource Sharing)是 W3C CORS 工作草案 ,它定义了在跨域访问资源时浏览器和服务器之间如何通信。CORS背后的基本思想是使用自定义的HTTP头部允许浏览器和服务器相互了解对方,从而决定请求或响应成功与否
特点 :是 JSONP 模式的现代版。支持更多的请求方式,XMLHttpRequest
缺点:需后端配合修改,现代浏览器支持cors,老浏览器依旧要用JSONP

3、 PROXY
原理:proxy代理用于将请求拦截,然后通过服务器来发送请求,然后再将请求的结果传递给前端

node通常用 node-http-proxy 即可

proxy太通用了,weblack-dev-server里已集成,使用时直接配置即可 webpack-dev-server proxy代理

web前端开发怎么实现跨域 详解如何解决vue开发请求数据跨域的问题(基于浏览器的配置解决)

详解如何解决vue开发请求数据跨域的问题(基于浏览器的配置解决)



在用vue做前端开发的时候,因为一般跑vue使用的webpack自带的node服务,而我们实际要使用的数据确是后台服务器上的,所以这就涉及到服务器请求跨域的问题。本来在诸如axios之类的网络请求参数里面配置

withCredentials: true,
就可以解决跨域问题的,但是现在浏览器比如chorme有做了新的跨域限制,比如要服务器端配置允许跨域才行,详见跨域问题解决,是英文的,看起来需要花点功夫;那有没有不需要服务器端配置就能解决浏览器的跨域问题的办法呢?答案肯定是有的!!

这里就说chorme吧,因为chorme基本都是前端主流浏览器了,配置方法如下:

版本号49之前的跨域设置

具体做法为:

1.下载并安装好chorme浏览器后在桌面找到浏览器快捷图标并点击鼠标右键的属性一栏。


2.在属性页面中的目标输入框里加上 --disable-web-security 如下图所示:



3.点击应用和确定后关闭属性页面,并打开chrome浏览器。如果浏览器出现提示“你使用的是不受支持的命令标记 --disable-web-security”,那么说明配置成功。

版本号49之后的chrome跨域设置

chrome的版本升到49之后,跨域设置比以前严格了,在打开命令上加--disable-web-security之后还需要给出新的用户个人信息的目录。众所周知chrome是需要用gmail地址登录的浏览器,登录后就会生成一个存储个人信息的目录,保存用户的收藏、历史记录等个人信息。49版本之后,如果设置chrome浏览器为支持跨域模式,需要指定出一个个人信息目录,而不能使用默认的目录,估计是chrome浏览器怕用户勿使用跨域模式泄露自己的个人信息(主要是cookie,很多网站的登录token信息都是保存在cookie里)。

具体做法为:

1.在电脑上新建一个目录,例如:C:\MyChromeDevUserData

2.在属性页面中的目标输入框里加上 --disable-web-security --user-data-dir=C:\MyChromeDevUserData,--user-data-dir的值就是刚才新建的目录。

3.点击应用和确定后关闭属性页面,并打开chrome浏览器。

再次打开chrome,发现有“--disable-web-security”相关的提示,说明chrome又能正常跨域工作了。



跨域成功后,首页换成了google的welcome页面,同时原来收藏的链接和历史记录都不见了,而C:\MyChromeDevUserData目录下则生成了新的个人信息相关的文件。



这样就解决了诸如



报错的问题,一个坑给填满了,后面还有很多坑需要去填,哈哈!!!

以上就是我爱编程网小编为大家带来的内容了,希望能够帮助到大家,了解更多前端开发资讯敬请关注我爱编程网。
与“web前端开发怎么实现跨域 详解如何解决vue开发请求数据跨域的问题(基于浏览器的配置解决)”相关推荐
PHP框架跨域问题 thinkphp6解决 CORS 跨域
PHP框架跨域问题 thinkphp6解决 CORS 跨域

PHP如何实现不同网站登录跨域的问题可以用sso单点登录解决这个问题,本质是不同的域名能同时记录同一个cookie很久之前做过这个功能,有点忘了,大概的步骤:例如你在test1.com登录成功后,会给一个应用中心发请求,这个应用中心保存着所有的sso登录的设置cookie的url,每个应用组装成一个script标签返回给你你接收到这些script标签后,让这些标签

2023-09-15 21:53:57
web前端开发浏览器兼容 前端开发ie浏览器的兼容问题怎么解决?
web前端开发浏览器兼容 前端开发ie浏览器的兼容问题怎么解决?

web浏览器兼容什么是浏览器兼容?在我们的实际开发中会涉及到在多个浏览器比如firefox,opera,chrome,或者IE的多个版本下进行调试,在不同版本浏览器下会出现显示效果不一的情况,而浏览器兼容就是为了处理这种情况。浏览器最重要核心的部分是“浏览器内核”,负责对网页语法的解释(如标准通用标记语言下的一个应用HTML、JavaScript)并渲染(显示)网页。所

2023-10-09 07:11:58
php框架路由与请求跨域 跨域是指什么,因为什么引起的?有哪些解决方案?web前端知识
php框架路由与请求跨域 跨域是指什么,因为什么引起的?有哪些解决方案?web前端知识

ThinkPHP特点有哪些hinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP特点采用容器统一管理对象支持Facade更易用的路由注解路由支持路由跨域请求支持验证类增强配置和路由目录独立取消系统常量类库别名机

2023-10-02 23:11:17
PHP框架跨域问题 PHP 如何实现不同网站登录跨域的问题
PHP框架跨域问题 PHP 如何实现不同网站登录跨域的问题

怎么解决跨域问题1、通过jsonp跨域JSONP(JSONwithPadding:填充式JSON),应用JSON的一种新方法,JSON、JSONP的区别:1、JSON返回的是一串数据、JSONP返回的是脚本代码(包含一个函数调用)2、JSONP只支持get请求、不支持post请求(类似往页面添加一个script标签,通过src属性去触发对指定地址的请求,故只能是Get请求

2023-09-15 21:54:08
php框架解决跨域 微信公众号支付报跨域错误,后台是php
php框架解决跨域 微信公众号支付报跨域错误,后台是php

微信公众号支付报跨域错误,后台是php首先明确一个概念,微信接口并不是用ajax访问的。希望你是在后台使用curl的。在以上前提下,此报错是因为你的后台没有设置响应首部字段导致。以下两种方式均可解决:后台入口文件同级目录下.htaccess文件添加以下语句HeaderalwayssetAccess-Control-Allow-Origin"*"或者在被访问的PHP文件头部

2023-09-23 02:14:34
php框架出现中文乱码 如何解决php的数据库中文乱码问题
php框架出现中文乱码 如何解决php的数据库中文乱码问题

php都是乱码怎么办php乱码的解决办法:1、设置数据库和保存文件的编码为“utf8”;2、保存文件时修改编码;3、使用“mb_convert_encoding”函数进行转码;4、设置数据库的存储编码为“utf8”。推荐:《PHP视频教程》PHP出现乱码,解决乱码的方法一,出现乱码的原因分析1,保存文件时候,文件有自己的文件编码,就是汉字,或者其他国语言,以什么编码来存储

2023-09-28 20:22:35
web前端开发跨域 跨域是什么意思
web前端开发跨域 跨域是什么意思

跨域是什么意思问题一:跨域是指什么,因为什么引起的?有哪些解决方案?web前端知识跨域是指不同域名之间相互访问例如我的电脑上有2个服务器192.168.0.11192.168.0.12如果第一个服务器上的页面要访问第二个服务器就叫做跨域或者baidu要访问xxx也是不同域名也是跨域HTML5里有个window.postMessage方法,支持跨域访问,详情可以参考webhek/win

2023-09-14 06:05:49
php框架vue前后端分离 如何解决Vue微信授权登录前后端分离的问题
php框架vue前后端分离 如何解决Vue微信授权登录前后端分离的问题

前后端分离怎么实现前后端分离实现方式:1、前后端分离的概念就是“调接口与前端展示数据跟数据交互”,后端给前端专门写接口,至于数据格式自己定,如果处理的好未必一定说是要用json,只是json是目前数据交互上比较好的。2、接口数据都有了,那么接下来就是前端数据的展示,前提你要有自己的数据解析库。因为这样数据展示就容易。3、可以自己封装,但现有相对好的数据引擎库有Angular

2023-09-28 17:38:20