if one value of key/value pairs is array then treat each array value in part
[jquery.git] / src / ajax / ajax.js
index 4d6dc6f..42bc54b 100644 (file)
@@ -709,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)
@@ -892,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