2012-01-20 20 views
9

Próbuję uzyskać nagłówki odpowiedzi z żądania ajax, ale metoda getQllResponseHeaders xhr jQuery tylko wyświetla nagłówek "Content-Type". Ktoś wie dlaczego?XmlHttpRequest getAllResponseHeaders() nie zwraca wszystkich nagłówków

To jest nagłówek odpowiedzi
kontroli dostępu-ce-mandatów: prawda
Access-Control-Allow-headers: If-Modified-Since, Cache-Control, Content-Type, Keep-Alive, X-Requested-Z, udzielania zezwoleń
Access-Control-Allow-Metody: GET, PUT, POST, DELETE OPCJE
Access-Control-Allow-Origin: *
Access-Control-max-age: 1728000
Autoryzacja: apikey = "apikey1" AuthenticationToken = "62364GJHGJHG"
Połączenie: keep- żywy
Długość treści: 240
Content-Type: application/json; charset = UTF-8
X-Powered-By: ekspresowe

Jest to funkcja sukces

params.success = function (response, textStatus, jqXHR) { 
    console.log(jqXHR.getAllResponseHeaders()) 
} 

To jest to, co rejestruje ...
Content-Type: application/json; charset = utf-8

+0

Czy to JSONP z połączeniem między domenami? – epascarello

+0

To formularz logowania przesyłający json do usługi węzła, którą uruchomiłem lokalnie. Moja strona działa na http: // backbone i wysyła dane formularzy do http: // localhost: 8000. Czy to dlatego? – screenm0nkey

+1

Jakie było twoje rozwiązanie tutaj? – pabera

Odpowiedz

6

Wpadłem na to. Dzieje się tak, ponieważ wykonujesz żądanie CORS i nie ujawniasz nagłówka Location.

Trzeba dodać Access-Control-Expose-Headers do prefligtu odpowiedzi Cors w Express:

res.header('Access-Control-Expose-Headers', 'Content-Type, Location'); 
res.send(200); 

To rozwiąże problem.

+0

Uderzając głową o ścianę, to był ratownik – chrismarx

Powiązane problemy