X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;ds=sidebyside;f=src%2Fajax%2Fajax.js;h=16f7d70c838f6b2c431c76d409135880632e2171;hb=519b7d33e2e40c9d6f5defa67500979af2123d99;hp=e9580aa8a2d8a75a27299aa422cf40c679233935;hpb=874e4f65eecdf74bb76c361d778aac4ed6158ed6;p=jquery.git
diff --git a/src/ajax/ajax.js b/src/ajax/ajax.js
index e9580aa..16f7d70 100644
--- a/src/ajax/ajax.js
+++ b/src/ajax/ajax.js
@@ -3,12 +3,38 @@
// http://jquery.com/docs/ajax/
/**
- * Load HTML from a remote file and inject it into the DOM
+ * Load HTML from a remote file and inject it into the DOM, only if it's
+ * been modified by the server.
+ *
+ * @example $("#feeds").loadIfModified("feeds.html")
+ * @before
+ * @result 45 feeds found.
+ *
+ * @name loadIfModified
+ * @type jQuery
+ * @param String url The URL of the HTML file to load.
+ * @param Hash params A set of key/value pairs that will be sent to the server.
+ * @param Function callback A function to be executed whenever the data is loaded.
+ * @cat AJAX
*/
jQuery.fn.loadIfModified = function( url, params, callback ) {
this.load( url, params, callback, 1 );
};
+/**
+ * Load HTML from a remote file and inject it into the DOM.
+ *
+ * @example $("#feeds").load("feeds.html")
+ * @before
+ * @result 45 feeds found.
+ *
+ * @name load
+ * @type jQuery
+ * @param String url The URL of the HTML file to load.
+ * @param Hash params A set of key/value pairs that will be sent to the server.
+ * @param Function callback A function to be executed whenever the data is loaded.
+ * @cat AJAX
+ */
jQuery.fn.load = function( url, params, callback, ifModified ) {
if ( url.constructor == Function )
return this.bind("load", url);
@@ -58,7 +84,7 @@ jQuery.fn.load = function( url, params, callback, ifModified ) {
};
// If IE is used, create a wrapper for the XMLHttpRequest object
-if ( jQuery.browser.msie )
+if ( jQuery.browser.msie && typeof XMLHttpRequest == "undefined" )
XMLHttpRequest = function(){
return new ActiveXObject(
navigator.userAgent.indexOf("MSIE 5") >= 0 ?
@@ -81,7 +107,56 @@ new function(){
jQuery.extend({
/**
- * Load a remote page using a GET request
+ * Load a remote page using an HTTP GET request.
+ *
+ * @example $.get("test.cgi")
+ *
+ * @name $.get
+ * @type jQuery
+ * @param String url The URL of the HTML file to load.
+ * @cat AJAX
+ */
+
+ /**
+ * Load a remote page using an HTTP GET request.
+ *
+ * @example $.get("test.cgi", { name: "John", time: "2pm" } )
+ *
+ * @name $.get
+ * @type jQuery
+ * @param String url The URL of the HTML file to load.
+ * @param Hash params A set of key/value pairs that will be sent to the server.
+ * @cat AJAX
+ */
+
+ /**
+ * Load a remote page using an HTTP GET request.
+ *
+ * @example $.get("test.cgi", function(){
+ * alert("Data Loaded.");
+ * })
+ *
+ * @name $.get
+ * @type jQuery
+ * @param String url The URL of the HTML file to load.
+ * @param Function callback A function to be executed whenever the data is loaded.
+ * @cat AJAX
+ */
+
+ /**
+ * Load a remote page using an HTTP GET request.
+ *
+ * @example $.get("test.cgi",
+ * { name: "John", time: "2pm" },
+ * function(){ alert("Data Loaded."); }
+ * )
+ *
+ * @name $.get
+ * @type jQuery
+ * @param String url The URL of the HTML file to load.
+ * @param Hash params A set of key/value pairs that will be sent to the server.
+ * @param Function callback A function to be executed whenever the data is loaded.
+ * @cat AJAX
*/
get: function( url, data, callback, type, ifModified ) {
if ( data.constructor == Function ) {
@@ -97,7 +172,63 @@ jQuery.extend({
if ( callback ) callback( jQuery.httpData(r,type), status );
}, ifModified);
},
+
+ /**
+ * Load a remote page using an HTTP GET request, and only if it hasn't
+ * been modified since it was last retieved.
+ *
+ * @example $.getIfModified("test.cgi")
+ *
+ * @name $.getIfModified
+ * @type jQuery
+ * @param String url The URL of the HTML file to load.
+ * @cat AJAX
+ */
+
+ /**
+ * Load a remote page using an HTTP GET request, and only if it hasn't
+ * been modified since it was last retieved.
+ *
+ * @example $.getIfModified("test.cgi", { name: "John", time: "2pm" })
+ *
+ * @name $.getIfModified
+ * @type jQuery
+ * @param String url The URL of the HTML file to load.
+ * @param Hash params A set of key/value pairs that will be sent to the server.
+ * @cat AJAX
+ */
+
+ /**
+ * Load a remote page using an HTTP GET request, and only if it hasn't
+ * been modified since it was last retieved.
+ *
+ * @example $.getIfModified("test.cgi", function(){
+ * alert("Data Loaded.");
+ * })
+ *
+ * @name $.getIfModified
+ * @type jQuery
+ * @param String url The URL of the HTML file to load.
+ * @param Function callback A function to be executed whenever the data is loaded.
+ * @cat AJAX
+ */
+ /**
+ * Load a remote page using an HTTP GET request, and only if it hasn't
+ * been modified since it was last retieved.
+ *
+ * @example $.getIfModified("test.cgi",
+ * { name: "John", time: "2pm" },
+ * function(){ alert("Data Loaded."); }
+ * )
+ *
+ * @name $.getIfModified
+ * @type jQuery
+ * @param String url The URL of the HTML file to load.
+ * @param Hash params A set of key/value pairs that will be sent to the server.
+ * @param Function callback A function to be executed whenever the data is loaded.
+ * @cat AJAX
+ */
getIfModified: function( url, data, callback, type ) {
jQuery.get(url, data, callback, type, 1);
},
@@ -274,6 +405,9 @@ jQuery.extend({
// If the type is "script", eval it
if ( type == "script" ) eval.call( window, data );
+ // Get the JavaScript object, if JSON is used.
+ if ( type == "json" ) eval( "data = " + data );
+
return data;
},