使用带有自定义标头的Ajax加载图像

时间:2015-05-28 07:53:51

标签: javascript ajax image http-headers

使用ajax加载图像的正确方法是什么?

我无法使用通常的canvas.Refresh()代码作为我必须将一些特定的http标头传递给<img/>请求。出于这个原因,我有点受限使用Ajax。我必须传递给请求的标头是凭据。没有它,它就无法获得图像文件。

我想知道是否有办法让ajax请求将数据加载到GET标记中,并仍将img属性保留为图像的真实网址。我对使用base64数据网址加载图片并不太感兴趣。

1 个答案:

答案 0 :(得分:4)

简答....你不能。

您将该图像转换为<img>标记但仍然传递特定http标头的唯一方法是通过ajax ...并且响应必须是base64数据网址(或者您必须将其转换为您可以将<img>标记作为src属性的值放入base64数据网址。

只要您更改<img>标记的src属性,浏览器就会从服务器请求图片...并且它不会传递任何特定标题。

如果要显示图像,则需要<img>标记(这可以为您提供我提到的限制),或者您可以将其作为任何元素的CSS背景,但同样的限制也适用。只要您设置了网址,浏览器就会加载图片,而不会传递任何自定义标头。