Я использую ajax-вызов jQuery, чтобы сделать запрос CORS, и он работает, если я установил
var headers = {};
Но поскольку контент, который я пытаюсь получить, довольно большой, я хотел бы отправить заголовки диапазонов.
(Все это протестировано и работает в одном домене.)
Итак, когда я делаю это:
var headers = {"Range":"bytes=" + start + "-" + end};
$.ajax({
url:url,
type:type,
headers:headers,
dataType:dataType,
success:function (data, status, jqXHR) {
//
}, error:function (data, status, jqXHR) {
//
}
});
В другом нашем домене, запрос отменяется в последней версии Chrome и FF.
Если отключить заголовки, все работает, но потом я получаю мегабайты данных, а браузер не может обработать/разобрать такой объем данных.
Вот заголовки с сервера (Я контролирую это, поэтому могу редактировать)
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: OPTIONS, GET, POST
Access-Control-Allow-Headers: Content-Type, Authorization, Accept, Range, Origin
Access-Control-Expose-Headers: Content-Range
Access-Control-Max-Age: 3600
Я сделал что-то не так, или отправка запроса диапазона через CORS еще не реализована должным образом в последних браузерах?
(Дополнительное примечание: хром также не возвращает заголовки, даже если я разрешаю их в Expose-Заголовки, но это известная ошибка в списке рассылки хрома, но я могу сначала сделать один запрос на получение, чтобы узнать размер файла)