我有一个问题,我希望使用ajax请求在端口80和端口8080之间在我自己的服务器上进行通信。我知道CORS和跨域请求源策略以及iframe解决此问题的方法。
出于好奇,我想知道是否以及如何做到这一点。如果请求的信息被调用为<img>
标签,其中包含需要调用的URL的SRC,并且从收到的数据中以某种方式解析返回的内容 -
谢谢!
答案 0 :(得分:1)
在同一个域中,使用canvas即可:您使用canvas.drawImage
将图片绘制到画布,然后使用canvas.toDataURL
或canvas.toBlob
获取画布上的数据。
在跨域情况下,如果画布为"tainted" with a cross-domain image,则会阻止toDataURL
和toBlob
。要克服这一限制,您必须:
使用CORS标题提供图像,和
设置<img>
的{{3}}(设置为“anonymous
”或“use-credentials
”,具体取决于是使用Cookie还是使用Cookie进行提取不是)。
答案 1 :(得分:0)
没有。虽然有API可以访问图像数据(虽然我认为它们都与加载到<canvas>
而不是<img>
的位图有关),但您无法访问来自不同来源的数据,因为同源策略仍然适用。