X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fajax%2Fajax.js;h=16f7d70c838f6b2c431c76d409135880632e2171;hb=e2d3c4341908aa2a36023c91a8a684d10e93339a;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; },