ClientJS: Daten bei AJAX-Submits als POST-Content schicken, nicht an die URL dran
authorMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 19 Jul 2013 11:55:12 +0000 (13:55 +0200)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 31 Jul 2013 10:41:00 +0000 (12:41 +0200)
js/client_js.js
scripts/generate_client_js_actions.tpl

index e096d52..51e3638 100644 (file)
@@ -129,8 +129,15 @@ ns.eval_json_result = function(data) {
 };
 
 ns.submit_ajax_form = function(url, form_selector, additional_data) {
-  var separator = /\?/.test(url) ? '&' : '?';
-  $.post(url + separator + $(form_selector).serialize(), additional_data, ns.eval_json_result);
+  var data = $(form_selector).serialize();
+  if (additional_data) {
+    if (data)
+      data += '&';
+    data += typeof additional_data == "string" ? additional_data : $(additional_data).serialize();
+  }
+
+  $.post(url, data, ns.eval_json_result);
+
   return true;
 };
 
index 6772cd1..b2ab046 100644 (file)
@@ -36,8 +36,15 @@ ns.eval_json_result = function(data) {
 };
 
 ns.submit_ajax_form = function(url, form_selector, additional_data) {
-  var separator = /\?/.test(url) ? '&' : '?';
-  $.post(url + separator + $(form_selector).serialize(), additional_data, ns.eval_json_result);
+  var data = $(form_selector).serialize();
+  if (additional_data) {
+    if (data)
+      data += '&';
+    data += typeof additional_data == "string" ? additional_data : $(additional_data).serialize();
+  }
+
+  $.post(url, data, ns.eval_json_result);
+
   return true;
 };