【发布时间】:2023-04-03 00:58:01
【问题描述】:
我们有一个主要用于通过 jquery 的 $.ajax() 从 javascript 调用的 web 服务。当我们从 javascript 调用方法时,我们在请求标头中设置了一个安全令牌。如果它不存在,或者它没有验证,我们会返回一个未经授权的错误。
这一切都很好。
但现在我们面临着返回图像文件的问题。因此,我们没有让 javascript 调用 $.ajax(),而是在 DOM 中嵌入了一个图像标签:
<img src='http://mywebservice/imagescontroller/getAnImage?imageid=123'/>
当我们这样做时,我们的请求标头中没有我们的安全令牌。我可以想到两个“简单”的修复。 1.,我们只允许匿名访问我们的图像 URL,或者 2.,我们将安全令牌作为 URL 参数传递。
当然,第一个选择不是一个好主意。第二个足够简单。但在我决定采用这种方法之前,我想知道是否有一些简单的方法可以在这类请求上设置请求标头,而我错过了。
想法?
【问题讨论】:
-
你可以使用AJAX获取图片数据,然后在
image.src中放一个data:base64,...URL。 -
这是一个有趣的想法。
标签: javascript jquery html ajax