2012-04-25 1 views
2

Я использую что-то подобное, чтобы получить изображение через jquery ajax.

$.ajax({ 
    url: imageurl, 
    type:'GET', 
    contentType: 'image/png', 
    success: success, 
    error: error, 
    timeout: 5000 
}); 

Я могу видеть, что мои заголовки запроса включают

Access-Control-Request-Headers: происхождение, тип содержимого, примите

С другой стороны, если я установить up a img element, такой как

<img src="imageurl" ... 

и наблюдать за заголовками запросов Я не вижу никаких «Контроль доступа R equest Headers ".

Просто интересно, в чем причина добавления $ .ajax() этого заголовка. Почему он добавляет это для изображений, которые должны быть допустимым HTTP-запросом на межсайтовый сайт. Будет ли это хорошей практикой или даже удалить этот заголовок?

+1

Вместо того, чтобы затруднять настройку ajax-запроса, почему бы вам просто не загрузить изображение с помощью src. Вы можете прикрепить событие onload для обработки имеющейся у вас функции успеха. Нечто похожее на это: http://stackoverflow.com/questions/4285042/can-jquery-ajax-load-image – scrappedcola

+0

@scrappedcola спасибо, но мне нужно таймаут, поэтому я не могу использовать load() – zero7

ответ

1

Все, что доступно с помощью XMLHttpRequest, будет иметь эти заголовки, будь то изображение или нет. Важнейшая часть - это начало запроса (сценарий, а не тег «img»).

Этот заголовок фактически создан браузером, поэтому нет, его невозможно будет удалить с помощью jquery.

Исторически сценариям не разрешалось выполнять межсайтовые HTTP-запросы, и эти заголовки являются частью новой функции совместного использования кросс-исходного кода. См: https://developer.mozilla.org/en/http_access_control

Обратите внимание, что это может можно обойти с помощью JQuery для создания «IMG» тег, который потенциально может быть манипулируют так, как вы хотите. Я не пробовал, но стоит попробовать.

+1

Я просто хотел бы во-вторых, факт, что, создав тег изображения, я смог получить как Chrome, так и Firefox, чтобы правильно отправить Origin head. Превосходный вызов вашей идеи для создания тега изображения. – dougBTV

Смежные вопросы