javascript - 使用 AJAX 从跨源服务器检索图像

标签 javascript ajax browser cors

我们正在尽力从其他跨源服务器检索图像。我不相信 JSONP 可以检索图像,因此我们正在尝试普通的 AJAX GET 请求。我读过,使用 iFrames,您可以更改前端的域(使用 document.domain),并以某种方式欺骗外部服务器,让其相信您位于同一个域中,但这看起来确实很黑客。从公共(public)服务器检索图像的最可接受的方式是什么?我们只是祈祷他们设置响应 header “Access-Control-Allow-Origin: *”还是我们可以做更多的事情?

阅读更多相关内容,似乎 CORS 的正确使用是通过服务器设置上述 header 来完成的:Access-Control-Allow-Origin。我们对此无法控制。因此,对此进行一些控制的唯一方法似乎是 hacky iFrame 方法。所以我的问题更多是关于如何实现这一点以及它的可接受程度。

最佳答案

We have no control over that.

这才是重点。如果 Malary 的网站可以允许自己使用 Alice 的浏览器从 Bob 的网站获取信息(Bob 的网站相信该请求来自 Alice),那么一开始就没有任何权限系统的意义了!

So they only way to have some control over this seems to be the hacky iFrame methodology. So my question is more about how to implement this and how acceptable it is.

它非常有限,仅在处理同一域的子域时有效。你可能不是。

<小时/>

如果您想从另一个站点获取数据到您的 JavaScript 中,那么您需要该站点的配合。

唯一的选择是使用服务器端代码来获取数据(因此请求来自您(或信任您的第三方),而不是访问者的浏览器),然后再将其传递给浏览器。

关于javascript - 使用 AJAX 从跨源服务器检索图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35143047/

相关文章:

javascript - 带有嵌入式脚本的 SVG 可缩放至浏览器可用空间

html - 相当于-webkit-mask-image : -webkit-gradient in Mozilla Firefox?

javascript - 强制在 IE8 而不是任何其他版本的 IE 中打开 HTML?

javascript - 检查字段是否至少包含一些数字

javascript - 避免两个 php 请愿同时发生

jquery - 如何使用 Django + jQuery 修复 XSS?

html - 为什么没有适用于所有浏览器的通用 HTML5 视频编解码器标准?

javascript - HTML5 Canvas 中的居中(比例字体)文本

JavaScript/jQuery 使用更多单词而不是 IndexOf - 聊天机器人

javascript - 使用ajax调用填充数据表