X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fajax%2Fajax.js;h=42bc54b6ea5ab04af06762214103afcd6a66f17b;hb=317ea5caeacdae60ef759fd1e35c9219c9e14c87;hp=129d472602cdcb00d3eeeafbb46b2da7c9f80503;hpb=7ff54c403435bbb9f0e66caf6e5f6a663acc543d;p=jquery.git diff --git a/src/ajax/ajax.js b/src/ajax/ajax.js index 129d472..42bc54b 100644 --- a/src/ajax/ajax.js +++ b/src/ajax/ajax.js @@ -64,8 +64,8 @@ jQuery.fn.extend({ * @name load * @type jQuery * @param String url The URL of the HTML file to load. - * @param Object 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. + * @param Object params A set of key/value pairs that will be sent as data to the server. + * @param Function callback A function to be executed whenever the data is loaded (parameters: responseText, status and reponse itself). * @cat AJAX */ load: function( url, params, callback, ifModified ) { @@ -107,9 +107,9 @@ jQuery.fn.extend({ // Execute all the scripts inside of the newly-injected HTML .evalScripts() // Execute callback - .each( callback, [res.responseText, status] ); + .each( callback, [res.responseText, status, res] ); } else - callback.apply( self, [res.responseText, status] ); + callback.apply( self, [res.responseText, status, res] ); } }); return this; @@ -597,7 +597,8 @@ jQuery.extend({ * * (String) url - The URL of the page to request. * - * (String) data - A string of data to be sent to the server (POST only). + * (String) data - Data to be sent to the server. If converted to a query + * string, if not already a string. Is appended to the url for GET-requests. * * (String) dataType - The type of data that you're expecting back from * the server (e.g. "xml", "html", "script", or "json"). @@ -708,14 +709,14 @@ jQuery.extend({ error: null, dataType: null, data: null, - url: null, + url: null }, s); // if data available if ( s.data ) { // convert data if not already a string if (typeof s.data != 'string') - s.data = jQuery.param(s.data) + s.data = jQuery.param(s.data); // append data to url for get requests if( s.type.toLowerCase() == "get" ) // "?" + data or "&" + data (in case there are already params) @@ -891,8 +892,15 @@ jQuery.extend({ // Otherwise, assume that it's an object of key/value pairs } else { // Serialize the key/values - for ( var j in a ) - s.push( j + "=" + encodeURIComponent( a[j] ) ); + for ( var j in a ) { + //if one value is array then treat each array value in part + if (typeof a[j] == 'object') { + for (var k = 0; k < a[j].length; k++) { + s.push( j + "[]=" + encodeURIComponent( a[j][k] ) ); + } + } else { + s.push( j + "=" + encodeURIComponent( a[j] ) ); + } } // Return the resulting serialization