在支付宝小程序云 里配置 跨域 域名和端口,然后再通过localhost 访问 云对象url 会报跨域错误。
![1***@qq.com](https://img-cdn-tc.dcloud.net.cn/account/identicon/3fb1be84cdcf8fe14d842d657346068f.png)
- 发布:2024-02-21 20:05
- 更新:2024-06-26 17:01
- 阅读:290
产品分类: uniCloud/支付宝小程序云
操作步骤:
预期结果:
可以正常访问
可以正常访问
实际结果:
报错 Access to XMLHttpRequest at 'https://env-00jxge1mkcqs.dev-hz.cloudbasefunction.cn/api/sysUser/login' from origin 'http://localhost:3001' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
报错 Access to XMLHttpRequest at 'https://env-00jxge1mkcqs.dev-hz.cloudbasefunction.cn/api/sysUser/login' from origin 'http://localhost:3001' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
bug描述:
客户端非 uni-app, 是用vue3写的前端, 通过 http://localhost:3001 访问 url参数化 云对象会报跨域报错,在支付宝云小程序配了 localhost:3001, 只有支付宝云必现,阿里云无法复现(或者没有这个bug)
https://env-00jxge1mkcqs.dev-hz.cloudbasefunction.cn/api/sysUser/login
访问这个 报跨域错误
![](http://img-cdn-tc.dcloud.net.cn/uploads/questions/20240221/dc18d12ab02e6b42678449594fa88192.png)
![](http://img-cdn-tc.dcloud.net.cn/uploads/questions/20240221/1b3420d9229f6b0307cbcfe7b876014f.png)
![](http://img-cdn-tc.dcloud.net.cn/uploads/questions/20240221/16849329d22d6b44f3a568cf44c954d9.png)
![DCloud_云服务_moyang](http://img-cdn-tc.dcloud.net.cn/uploads/avatar/001/45/15/72_avatar_mid.jpg?v=0)
看一下发起请求时,是否配置了credentials。
参考文档:
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials
https://developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequest/withCredentials
![1***@qq.com](https://img-cdn-tc.dcloud.net.cn/account/identicon/3fb1be84cdcf8fe14d842d657346068f.png)
1***@qq.com (作者)
@DCloud_云服务_moyang 您好, 这是在 支付宝小程序云 服务端配的 ,客户端配了没有任何作用。 同样的请求在阿里云 都没有跨域报错, 但是在支付宝小程序云报了,您那边自己可以试下 ,看怎样才能成功
![1***@qq.com](https://img-cdn-tc.dcloud.net.cn/account/identicon/3fb1be84cdcf8fe14d842d657346068f.png)
1***@qq.com (作者)
不过 支付宝云要把这个 withCredentials 设置false ,才能在火狐里请求成功, 阿里云的设置ture 就可以请求成功,不报跨域错误,希望你们能处理好这个问题,而不是临时解决方案
![1***@qq.com](https://img-cdn-tc.dcloud.net.cn/account/identicon/3fb1be84cdcf8fe14d842d657346068f.png)
1***@qq.com (作者)
@DCloud_云服务_moyang withCredentials 设置false 你们能不能在谷歌浏览器测试一下, 火狐和 IE 浏览器正常 ,谷歌浏览器访问报 跨域错误。 只有支付宝小程序云是这样。