uni-app项目在uniClound中前端托管进行登录时报跨域错误 已拦截跨源请求:同源策略禁止读取位于***** 的远程资源。(原因:CORS 请求未能成功)

网上的方法千千万,解决的方法其实很简单

我们先从uni-app的项目上传到uniClound开始

1.我们在HBuilderX中将完成好的项目发布到uniClound中,我们可以直接选择上传到网站服务器。
在这里插入图片描述这时会跳出一个页面,我们可以选勾“重新编译””,这个我们的代码就可以直接上传到uniClound中,这时我们再选择勾上已开通托管的云服务空间。
在这里插入图片描述2.等待项目上传到uniClound中,上传完毕后。
我们可以登录到uniClound查看我们上传的前端代码。
在这里插入图片描述
但是我们发现如果我们点击默认域名登录时
在这里插入图片描述

报跨域错误
在这里插入图片描述

以及[uni-admin]: request:fail
在这里插入图片描述于是我运用面向百度编程的思想,得出了一堆解决方案。
什么proxy 代理等等方法。
发现都不能解决我的问题,于是我便仔细查看了uniClound的注意事项,这时我才意识到,原来我们可以直接设置跨域配置。这个就在这个的左侧。
在这里插入图片描述因为我之前一直看到需要配置安全域名,于是我省吃俭用的买了3个域名以便备用。结果当我使用自己之前买的服务器IP解析域名时发现可以正常使用,这是我就开始郁闷了。

谁知道,新增默认域名也可以登录。淦!
在这里插入图片描述
这个跨域其实只要我们在这里配置域名就OK了。

跨域访问的问题可以通过以下几种方式来解决: 1. JSONP:JSONP是一种跨域访问的解决方案,它的原理是利用script标签没有跨域限制的特性,通过动态创建script标签的方式来获取跨域数据。服务器端需要接收一个回调函数的参数,并将返回的数据作为参数传递给该回调函数,最终将数据以js代码的形式返回给客户端。客户端可以通过定义该回调函数并在script标签指定回调函数名的方式来获取到跨域数据。 2. CORS跨域资源共享(CORS)是一种通过添加特定的HTTP头来允许跨域访问的解决方案。服务器端需要在响应头添加Access-Control-Allow-Origin字段来指定允许跨域访问的域名或通配符(*),并且可以通过其他Access-Control-*字段来控制请求的方法、头信息等。 3. 代理:代理是一种通过在服务端转发请求来实现跨域访问的解决方案。客户端通过向代理服务器发送请求,代理服务器再将请求发送给目标服务器,并将目标服务器返回的数据返回给客户端。由于请求是由代理服务器发送的,因此不存在跨域访问的问题。 4. postMessage:postMessage是一种通过window对象的postMessage方法来实现跨域通信的解决方案。客户端通过调用postMessage方法将数据发送给另一个窗口,另一个窗口可以通过监听message事件来获取数据。由于postMessage方法不受同源策略的限制,因此可以实现跨域通信。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值