Added a fix for <script>s getting executed twice when .load()ed.
[jquery.git] / src / ajax / ajax.js
index 9a9e0eb..0c629b3 100644 (file)
@@ -77,7 +77,7 @@ jQuery.fn.extend({
                        complete: function(res, status){
                                if ( status == "success" || !ifModified && status == "notmodified" )
                                        // Inject the HTML into all the matched elements
-                                       self.html(res.responseText)
+                                       self.attr("innerHTML", res.responseText)
                                          // Execute all the scripts inside of the newly-injected HTML
                                          .evalScripts()
                                          // Execute callback
@@ -790,7 +790,7 @@ jQuery.extend({
                if ( a.constructor == Array || a.jquery )
                        // Serialize the form elements
                        for ( var i = 0; i < a.length; i++ )
-                               s.push( a[i].name + "=" + encodeURIComponent( a[i].value ) );
+                               s.push( encodeURIComponent(a[i].name) + "=" + encodeURIComponent( a[i].value ) );
 
                // Otherwise, assume that it's an object of key/value pairs
                else
@@ -799,9 +799,9 @@ jQuery.extend({
                                // If the value is an array then the key names need to be repeated
                                if ( a[j].constructor == Array )
                                        for ( var k = 0; k < a[j].length; k++ )
-                                               s.push( j + "=" + encodeURIComponent( a[j][k] ) );
+                                               s.push( encodeURIComponent(j) + "=" + encodeURIComponent( a[j][k] ) );
                                else
-                                       s.push( j + "=" + encodeURIComponent( a[j] ) );
+                                       s.push( encodeURIComponent(j) + "=" + encodeURIComponent( a[j] ) );
 
                // Return the resulting serialization
                return s.join("&");