Ich verwende einen jQuery-Ajax-Aufruf, um Daten von einem Server anzufordern, der ein ETag in den HTTP-Antwortheadern sendet. Ich brauche Zugriff auf den Header, aber wenn die Anfrage erfolgreich ist und ich jqXHR.getAllResponseHeaders() aufrufen, sehe ich nur eine Teilmenge der vom Server zurückgegebenen Header.Zugriff auf ETag-Header mit jQuery AJAX-Anfrage?
Beispiel:
var jqXHR = $.ajax({
type: 'GET',
url: <my api url>,
dataType: 'json',
ifModified: true,
success: function (result) {
var headers = jqXHR.getAllResponseHeaders();
console.log(JSON.stringify(headers));
});
Die Header I vom jqxhr sehen sind:
Pragma: no-cache\r\n
Last-Modified: Wed, 22 Jan 2014 10:45:14 +0000\r\n
Content-Type: text/html\r\n
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0, no-cache=\"set-cookie\"\r\n
Expires: Sat, 26 Jul 1997 05:00:00 GMT\r\n
Die tatsächlichen Header vom Server zurückgegeben (in Chrom dev Werkzeuge beobachtet):
Access-Control-Allow-Origin:*
Cache-Control:no-cache="set-cookie"
Cache-Control:post-check=0, pre-check=0
Cache-Control:no-store, no-cache, must-revalidate
Connection:keep-alive
Content-Encoding:gzip
Content-Length:407
Content-Type:text/html
Date:Fri, 24 Jan 2014 20:27:54 GMT
ETag:"29d8d1d98115057fe902b520199ea1b3"
Expires:Sat, 26 Jul 1997 05:00:00 GMT
Last-Modified:Thu, 23 Jan 2014 07:14:57 +0000
Pragma:no-cache
Server:nginx/1.1.19
Set-Cookie:AWSELB=F3E9557318EB956CA386FC6CB4270164AD7830493699A2B6AED008F4C5F9DB5952A2A1072C33DDC32DEDE0CA6A3734EBAFD51B57A7A093B69A36A6659EF493E1B92BA63DE6;PATH=/
X-Powered-By:PHP/5.4.19
Ich muss auf den ETag-Header zugreifen, aber es scheint, als würde jQuery oder chrome es vor mir verbergen. Ich habe den gleichen Code in Firefox mit den gleichen Ergebnissen versucht. Kann mir jemand dabei helfen?
Gerade versucht diese, Kein eTag dort auch. – Swaraj