1

アプリケーションに Ajax (JQuery) 経由で送信する必要があるフォームがありますが、JavaScript からリモートで送信する必要があります (つまり、 user :remote => trueはできません)。

JavaScript で問題なくフォームを見つけることができます。

my_form = $("#the_id_of_the_form");

次に、Ajax リクエストを作成します。

$.post('hardcoded path?', function(data) {
  // how would I serialize my parameters?
});

どうもありがとう。

4

4 に答える 4

2

jqueryapiから

例: ajaxリクエストを使用してフォームデータを送信する

$.post("test.php", $("#testform").serialize());

あなたの状況では、それはそのようなものである可能性があります。

$('#your_form').submit(function(event) {
  event.preventDefault();  
  $.ajax({
    type: "POST",
    url: $(this).attr('action'),
    data: $(this).serialize(),
    dataType: "JSON"
  });
});
于 2012-08-16T07:49:56.607 に答える
1

URL をハードコーディングしないでください。代わりに、フォームに保存されている URL を使用してください。

これは次のように行うことができます。

$("#the_id_of_the_form").submit(function() {
    $.post({
      url: $(this).attr('action'),
      data: $(this).serialize()
    });
});

お役に立てれば。

于 2012-08-16T09:01:15.020 に答える
0

$.postまたは$.getを使用しないようにしてください。アジャイルではなく、デバッグとリファクタリングで問題が発生します。

$.ajax({
  url: 'only_hardcore_path/' + my_form.serialize(),
  type: 'POST'  
});

または多分:

$.ajax({
  url: 'only_hardcore_path/',
  type: 'POST',
  data: my_form.serialize()
});
于 2012-08-16T07:52:01.777 に答える
0

使用するjQuery(<FORM_ID>).ajaxSubmit

あなたのフォームは次のようなものでなければなりません

<%= form_for @user,:url=>{:controller=>:logins, :action => 'sign_up'}, :html=>{ :onSubmit => "return checkSignupValidation()",:id=>"signup_form"}  do |f|%>

<% end %>

そしてあなたのjs

    function checkSignupValidation()
    {
      jQuery('#signup_form').ajaxSubmit({
        url:"/logins/sign_up",
        iframe: true,
        dataType: 'script',
        success: function(data){
            //console.log(data)
        }
      });
    }
于 2012-08-16T07:46:50.063 に答える