diff options
author | Jörn Zaefferer <joern.zaefferer@gmail.com> | 2006-10-01 14:32:29 +0000 |
---|---|---|
committer | Jörn Zaefferer <joern.zaefferer@gmail.com> | 2006-10-01 14:32:29 +0000 |
commit | 08d865862a0d26f8ca616ff5a39d97203bda9614 (patch) | |
tree | b4bc8c99854a822778736628ba2054c9e2119eff /src/ajax/ajax.js | |
parent | e94db76ada82c6a00d557e4452738bb3a81229b7 (diff) | |
download | jquery-08d865862a0d26f8ca616ff5a39d97203bda9614.tar.gz jquery-08d865862a0d26f8ca616ff5a39d97203bda9614.zip |
Fixed bug #165 (ignoring the exception) and #156 (ifModified option added to $.ajax)
Diffstat (limited to 'src/ajax/ajax.js')
-rw-r--r-- | src/ajax/ajax.js | 14 |
1 files 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 ) |