[Commits] r1443 - in core/trunk/geoext: lib/overrides tests/lib/overrides

commits at geoext.org commits at geoext.org
Fri Nov 6 08:25:17 CET 2009


Author: bartvde
Date: 2009-11-06 08:25:16 +0100 (Fri, 06 Nov 2009)
New Revision: 1443

Modified:
   core/trunk/geoext/lib/overrides/override-ext-ajax.js
   core/trunk/geoext/tests/lib/overrides/override-ext-ajax.html
Log:
make override-ext-ajax.js work for form-encoded POST, r=elemoine (closes #170)

Modified: core/trunk/geoext/lib/overrides/override-ext-ajax.js
===================================================================
--- core/trunk/geoext/lib/overrides/override-ext-ajax.js	2009-10-15 13:49:03 UTC (rev 1442)
+++ core/trunk/geoext/lib/overrides/override-ext-ajax.js	2009-11-06 07:25:16 UTC (rev 1443)
@@ -48,6 +48,11 @@
                 data = typeof options.jsonData == "object" ?
                        Ext.encode(options.jsonData) : options.jsonData;
             }
+            // options.params means form-encoded data, so change content-type
+            if (options.params && (!hs || !hs["Content-Type"])) {
+                hs = hs || {};
+                hs["Content-Type"] = "application/x-www-form-urlencoded";
+            }
             return OpenLayers.Request.issue({
                 success: createComplete("success", cb),
                 failure: createComplete("failure", cb),

Modified: core/trunk/geoext/tests/lib/overrides/override-ext-ajax.html
===================================================================
--- core/trunk/geoext/tests/lib/overrides/override-ext-ajax.html	2009-10-15 13:49:03 UTC (rev 1442)
+++ core/trunk/geoext/tests/lib/overrides/override-ext-ajax.html	2009-11-06 07:25:16 UTC (rev 1443)
@@ -158,6 +158,22 @@
             t.eq(result, expect,
                  "serializeForm returns expected result (" + expect + ")");
         }
+
+        function test_formPost(t) {
+            t.plan(1);
+            var proto = OpenLayers.Request.XMLHttpRequest.prototype;
+            proto.setRequestHeader = function(k, v) {
+                t.ok(k == "Content-Type" && v == "application/x-www-form-urlencoded",
+                     "Content-Type header properly set for form POST");
+            };
+            Ext.Ajax.request({
+                failure: function(response) { },
+                method: 'POST',
+                success: function(response) { },
+                params: { username: 'bart', password: 'xx'},
+                url: 'foo.php'
+            });
+        }
     </script>
   <body>
   <form id="form">



More information about the Commits mailing list