aboutsummaryrefslogtreecommitdiffstats
path: root/src/ajax/ajax.js
diff options
context:
space:
mode:
authorJörn Zaefferer <joern.zaefferer@gmail.com>2006-10-01 14:32:29 +0000
committerJörn Zaefferer <joern.zaefferer@gmail.com>2006-10-01 14:32:29 +0000
commit08d865862a0d26f8ca616ff5a39d97203bda9614 (patch)
treeb4bc8c99854a822778736628ba2054c9e2119eff /src/ajax/ajax.js
parente94db76ada82c6a00d557e4452738bb3a81229b7 (diff)
downloadjquery-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.js14
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 )