Мне нужно установить некоторые заголовки при получении изображения. Атрибут img
src
не позволяет этого, поэтому я использую запрос XHR для получения изображения. Однако, когда я устанавливаю атрибут src
в тег img
после завершения этого запроса, похоже, что запрос запускается снова. Есть ли способ кэшировать изображение и не запускать второй запрос?Как использовать ajax для установки src изображения?
Пример кода:
$(document).ready(function() {
var url = 'https://i.imgur.com/bTaDhpy.jpg'
var file = $.get(url);
file.then(function(data) {
$('#foo').attr('src', url);
});
});
JS Fiddle: https://jsfiddle.net/mehulkar/o4Lcs5Lo/
Примечание: мой вопрос не о том, как установить соответствующие заголовки в запросе XHR. Мой вопрос заключается в том, как не запускать другой GET из настройки атрибута src
и использовать ответ XHR для отображения изображения.
просто сделайте это '' $ ('# foo'). Attr ('src', 'https://i.imgur.com/bTaDhpy.jpg'); '' и вам хорошо идти! –
Ему нужны заголовки, поэтому ему нужен XHR. Он также нуждается в изображении как '', поэтому ему нужно 'src'. Боюсь, вам придется разрешить браузеру кэшировать. – Rudie
Вы можете использовать ответ XHR для создания URL-адреса данных ... =) Или нет: https://jsfiddle.net/rudiedirkx/o4Lcs5Lo/1/ См. Http://stackoverflow.com/a/28973694/247372 для родного Тип ответа XHR 'arraybuffer' – Rudie