Запрос CORS jQuery не работает при отправке запроса диапазона

Я использую 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-Заголовки, но это известная ошибка в списке рассылки хрома, но я могу сначала сделать один запрос на получение, чтобы узнать размер файла)

10
задан kodisha 22 March 2012 в 12:55
поделиться