benz-amr-recorder icon indicating copy to clipboard operation
benz-amr-recorder copied to clipboard

initWithUrl 跨域问题,页面直接用a标签不会出现跨域

Open ops-xu opened this issue 4 years ago • 6 comments

前端项目是vue项目,语音文件链接是阿里云oss,直接访问与页面采用a标签都不会有问题。 只有initWithUrl发起xhr请求会报跨域。测试在微信开发者工具中也没有跨域问题,但是在浏览器里会。

ops-xu avatar Mar 27 '20 03:03 ops-xu

哈喽,请问可以加个微信交流一下这个问题么?我的微信号是13508607365

chenmengyingfe avatar Mar 27 '20 05:03 chenmengyingfe

问题已解决。我考虑到跨域,在vue前后端分离项目上,无外乎两个解决方案,vue的proxytable,和后端加response。 但是这里是请求的阿里云oss,阿里云oss也有response的设置地方,但是因为我这边申请公司拿账号,拖了段时间,我就改用vue解决了。 比如oss中文件全访问链接为https://****/文件名,手动把前面域名截取出来,放到vue的proxytable里,定义一个前缀/oss,实际我们传给组件的链接为/oss/文件名,vue就会重新组装链接,达到解决跨域的作用。 至于直接去阿里云oss后台加response有没有用,我觉得应该有的,但是没尝试。 "/oss":{ target: "https://*-public-2.oss-cn-shanghai.aliyuncs.com", changeOrigin: true, pathRewrite: { "^/oss": "" } }

ops-xu avatar Mar 27 '20 06:03 ops-xu

看来我得抽空在 README 里加上跨域问题的描述……我写好 README 之前这 issue 就保持open吧。 跨域问题须修改服务器的配置,让服务器能够返回 Access-Control-Allow-Origin, Access-Control-Allow-Credentials, Access-Control-Expose-Headers 这些相关的响应header。详情可问谷鸽。

BenzLeung avatar Mar 30 '20 06:03 BenzLeung

看来我得抽空在 README 里加上跨域问题的描述……我写好 README 之前这 issue 就保持open吧。 跨域问题须修改服务器的配置,让服务器能够返回 Access-Control-Allow-Origin, Access-Control-Allow-Credentials, Access-Control-Expose-Headers 这些相关的响应header。详情可问谷鸽。

跨域的问题还没加到readme里面么?

dj835638078 avatar Nov 18 '20 08:11 dj835638078

我尝试了一下阿里云OSS设置跨域是可以的

CorkiFeng avatar Jul 14 '21 06:07 CorkiFeng

如果是语音文件是Nginx代理的,配置个add_header 'Access-Control-Allow-Origin' *; 就行了

smomop avatar Nov 02 '21 06:11 smomop