Я делаю междоменные запросы ajax с типом данных html. Они работают нормально, поскольку я включаю
Access-Control-Allow-Origin
в ответ от сервера. Проблема в том, что мне нужно получить определенные заголовки из ответа сервера, и что бы я ни делал, заголовки ответов, кроме «типа содержимого», возвращают значение null.
jQuery выполняет запрос, получает ответ, включая заголовки (я вижу это по трафику), но не анализирует его.
Я пробовал использовать
crossDomain: true
Не помогло. Вот пример ответа от сервера.
Access-Control-Allow-Origin:*
Cache-Control:private
Content-Encoding:gzip
Content-Length:514
Content-Type:text/html; charset=utf-8
X-MYRESPONSEHEADER:1
Если запрашивающий и отвечающий документ находятся на одном сервере,
success: function (data, status, xhr) {
totalRows = xhr.getResponseHeader("X-MYRESPONSEHEADER");
работает нормально. Я также пытался назначить $.ajax в переменную вроде
var jQxhr = $.ajax(.....
. Я не понимаю, почему она не будет проанализирована, поскольку jQuery фактически делает запрос и получает ответ.
Есть идеи? Я что-то упустил?
Заголовки отправлены на запрос
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip
Vary: Accept-Encoding
Server: Microsoft-IIS/7.5
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: X-MYRESPONSEHEADER
Access-Control-Allow-Methods: POST
Access-Control-Allow-Methods: GET
X-MYRESPONSEHEADER: 24
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Wed, 29 Feb 2012 11:34:21 GMT
Content-Length: 514