http 请求成功但仍然提示跨域

发布于 2022-09-07 20:33:08 字数 1022 浏览 14 评论 0

本人小白。。。网上也看了不少http资料,但只看清楚了他写了什么字,重来没懂他是什么意思。。。。

问题是这样的:目前是通过后端设置Access-Control-Allow-Origin: *来解决跨域的(后端我不懂)!前端一律通过ajax来请求接口,今天调个下载文件接口发现浏览器提示“No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:9000' is therefore not allowed access”,下面是请求截图:

clipboard.png

请求成功了,数据也拿到了,但为何还是提示跨域呢???并且其他接口都没问题,唯独这个。。。。
然后我对比了下其他接口的响应头,其他接口响应头都有Access-Control-Allow-xxxx的相关信息 包括Access-Control-Allow-Origin:*;而这个接口响应头啥都没有!如果是没请求成功 数据也没拿到,我可能还以为后端没设置允许我这个域访问,但是现在。。。。。简直搞不清楚状况啊。。天书啊。。。这是,这和农田里随便找个农民伯伯给他讲解航空母舰的制造一样懵逼啊。。。。

我的理解是,这个跨域还是浏览器端拦截,虽然你后端返回数据,但是浏览器同源策略(由于没有Access-Control-Allow-Origin:*)还是认为跨域,所以也不会触发ajax的success,那这样的话问题又来了,如果后端没设置Access-xxx那我应该请求不了的。更不可能拿到数据,那如果设置了。。。Access-xxx去哪了?

本人就初中学历,希望前辈们能通俗易懂的讲解下整问题的来龙去脉,感激不尽!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

浅语花开 2022-09-14 20:33:08

这个讲的很详细 。https://developer.mozilla.org...

PS: 你把请求换成post试试,肯定报错。

超可爱的懒熊 2022-09-14 20:33:08

我也遇到类似的现象,问题表现为,当你请求一个腾讯云上的资源的时候,浏览器network里面可以看到数据都完整的返回了,然而浏览器抛出了跨域问题,我的程序也因为请求异常而终止了。
之前的做法是让后端加上允许跨域,问题是解决了,但是这个现象自己也理解不了,当时没有深究。
个人感觉我当时使用的那个情况可能跟资源经由cdn的关系,但具体关系自己也不明了。

日久见人心 2022-09-14 20:33:08

跨域,jsonp不了解一下?
直通车:关于跨域和jsonp的一些理解(新手向)

风轻花落早 2022-09-14 20:33:08

1.首先判断是否跨域是浏览器端的行为,也就是说即使拿到数据了,响应头不对,浏览器认为跨域了也会终止后续操作
2.你这个请求没有贴地址,后端对这个请求的响应少了个请求头

瞄了个咪的 2022-09-14 20:33:08

但只看清楚了他写了什么字,重来没懂他是什么意思
这句话很有意思~

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文