【发布时间】:2014-12-31 01:43:12
【问题描述】:
我有一种情况,我收到了一个已经构建的用户界面,其中包含一个选项卡式视图,其中每个选项卡都包含一个使用 CakePHP formhelper 生成的表单。这些表单中的每一个都有自己的 ID,并且以前的开发人员在一次提交时对每个表单进行菊花链式 ajax 请求。
客户仍然希望所有表单同时发布,所以我希望我可以像这样序列化多个表单:
var post_data = $("#form-1, #form-2").serialize();
$.ajax({
type: "POST",
url: "/places/save_form",
data: post_data,
success: function(result) {},
error: function(result) {}
});
但是,在它发布到的终点,我似乎从 $this->request->data; 得到了一个空数组;而当我序列化单个表单时,它返回了我所有的表单值。
我也没有在控制器中的 $_POST 中得到任何东西,所以它似乎在它到达那里之前被擦洗了。
有没有办法将多个 formhelper 表单放入单个 ajax 帖子中,然后在另一端处理保存它们?
【问题讨论】:
-
你可以使用 cakephp js helper book.cakephp.org/2.0/en/core-libraries/helpers/js.html
-
@AlimonKarim - 我在 CakePHP 3 上,它说它已被删除。您是否发现其中有什么特定的东西可以在一个 ajax 请求中容纳多个表单?
-
把
data: post_data,改成data: dataString,怎么样? -
对不起,我的代码 sn-p 不准确。我仔细检查了我的代码,并且在两个地方都使用了相同的 var。我只是在两次不同的时间粘贴 sn-p 时搞砸了。我在这里更新了sn-p。