2017-08-23 5 views
0

jQuery/AJAXの新機能です。私は助けを求めています。基本的に私は、全体の形や別のパラメータを送信したい"2種類のデータ"をjQuery/AJAX経由で.phpファイルに渡す? (構文)

$(function() { 
    $('.button').on('click', function (event) { 

     event.preventDefault(); //prevents page from refreshing 

     $.ajax({ 
      type: 'POST', 
      url: 'test2.php', 
      data: ????? 
      success: function (data) { 
       alert('form was submitted'); 
       $('.text').html(data); 
      } 
     }); 
    }); 
}); 

だから、私が渡したいデータが1つのdata: $('#form').serialize(),用およびその他のdata: { test : test.name },
のためである:これは、関連するコード・スニペットです。 jQueryへの私の希望を正しく表現するにはどうすればよいですか?
は、私は、次のオプションを試してみましたし、彼らは動作しませんでした:

$.ajax({ 
       type: 'POST', 
       url: 'test2.php', 
       data: $('#form').serialize(), data: { test : test.name }, 
       success: function (data) { 
        alert('form was submitted'); 
        $('.text').html(data); 
       } 
      }); 

$.ajax({ 
       type: 'POST', 
       url: 'test2.php', 
       data: $('#form').serialize(), { test : test.name }, 
       success: function (data) { 
        alert('form was submitted'); 
        $('.text').html(data); 
       } 
      }); 

$.ajax({ 
      type: 'POST', 
      url: 'test2.php', 
      data: $('#form').serialize() 
     }); 
$.ajax({ 
      type: 'POST', 
      url: 'test2.php', 
      data: { test : test.name }, 
      success: function (data) { 
       alert('form was submitted'); 
       $('.text').html(data); 
      } 
     }); 

PHPのドキュメントには、基本的にはエコーからデータを述べました。
初心者を助けてください!

+0

あなたの質問はすでにhttps://stackoverflow.com/questions/10398783/jquery-form-serialize-and-other-parameters @Denis – Pritamkumar

+0

に返信されています。私は何らかの理由で検索したときにDavidさんにこれを見つけられませんでした。興味深いことに、私は今までオブジェクトを見たことがありません。 – Denis

答えて

0

はあなたがdataプロパティにJSONオブジェクトを指定する必要があり

data = {} 
data["form"] = $('#form').serialize(); 
data["test"] = test.name; 
$.ajax({ 
      type: 'POST', 
      url: 'test2.php', 
      data: data, 
      success: function (data) { 
       alert('form was submitted'); 
       $('.text').html(data); 
      } 
     }); 

をお試しくださいあなたのアヤックスのために。私がしたことは、基本的に新しいオブジェクトを作成し、2つの要素を追加することでした。

希望すると便利です。

0

すべての情報を保持するオブジェクトを作成します。

var dataToSend = {}; 
dataToSend.form = $('#form').serialize(); 
dataToSend.extraData = { test : test.name }; 

それを投稿:

$.ajax({ 
    data: dataToSend 
}) 
+0

ありがとう、私はそれを試してみる – Denis

関連する問題