このコードを使用して、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() を使用します。