From 08d865862a0d26f8ca616ff5a39d97203bda9614 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=B6rn=20Zaefferer?= Date: Sun, 1 Oct 2006 14:32:29 +0000 Subject: [PATCH] Fixed bug #165 (ignoring the exception) and #156 (ifModified option added to $.ajax) --- src/ajax/ajax.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/ajax/ajax.js b/src/ajax/ajax.js index cca207417..1426604bd 100644 --- a/src/ajax/ajax.js +++ b/src/ajax/ajax.js @@ -537,6 +537,10 @@ jQuery.extend({ * (String) dataType - The type of data that you're expecting back from * the server (e.g. "xml", "html", "script", or "json"). * + * (Boolean) ifModified - Allow the request to be successful only if the + * response has changed since the last request, default is false, ignoring + * the Last-Modified header + * * (Number) timeout - Local timeout to override global timeout, eg. to give a * single request a longer timeout while all others timeout after 1 seconds, * see $.ajaxTimeout @@ -610,6 +614,7 @@ jQuery.extend({ var dataType = type.dataType; var global = typeof type.global == "boolean" ? type.global : true; var timeout = typeof type.timeout == "number" ? type.timeout : jQuery.timeout; + var ifModified = type.ifModified || false; data = type.data; url = type.url; type = type.type; @@ -655,8 +660,13 @@ jQuery.extend({ // Make sure that the request was successful or notmodified if ( status != "error" ) { // Cache Last-Modified header, if ifModified mode. - var modRes = xml.getResponseHeader("Last-Modified"); - if ( ifModified && modRes ) jQuery.lastModified[url] = modRes; + var modRes; + try { + modRes = xml.getResponseHeader("Last-Modified"); + } catch(e) {} // swallow exception thrown by FF if header is not available + + if ( ifModified && modRes ) + jQuery.lastModified[url] = modRes; // If a local callback was specified, fire it if ( success ) -- 2.39.5