0

我正在使用此代码在我的 rails 应用程序中发出 ajax 请求,我从 railscast 第 136 集得到它。

$(this).submit(function() {
$.post(this.attr("action") + ".js", $(this).serialize(), null, "script");
return false;
})

但我想在不使用序列化的情况下传递数据。喜欢:

$(this).submit(function() {
$.post(this.attr("action") + ".js", { name: "John", time: "2pm" }, null, "script");
return false;
}) 

查看 jquery .post 文档中的示例,它应该可以工作,但是当我在操作中提出 params.inspect 时,我没有得到这些参数。我究竟做错了什么?

编辑: 我添加了我的表单代码。但是,如果我在没有序列化的情况下传递数据,表单中的输入字段应该无关紧要。editTransaction() 函数包含上面的代码。

<%= form_tag("edit", :method => "post", :onsubmit => "editTransaction()", :remote => true) do %>
<%= hidden_field_tag(:id, transaction.id) %>
<%= submit_tag("edit") %>
<% end %>

作为临时修复,我在表单中添加了隐藏的输入字段,并在提交时使用 javascript 更新了这些字段,然后使用 serialize()。

4

0 回答 0