2011-06-02 9 views
0

.ajax()を使用して2つの情報グループをPHPスクリプトに送信して問題を処理しています。PHPスクリプトで処理するために.ajax()を使用して複数のデータを送信する

このシナリオでは、ユーザーがページを入力し、1)タイマーのカウントが開始され、2)ユーザーがフォームの一連の入力を記入する必要があります。ユーザーが送信ボタンをクリックすると、両方の情報グループ(現在のタイマーカウントとすべてのユーザー入力)をPHPスクリプトに送信したいと思います。

私は正常に1つの情報グループを送信することができますか、または他のグループを同時に.ajax()を通じて両方のデータグループを同時に送信する方法を見つけることができません。ここで

はjQueryのです、私は両方のデータを送信しようとしたが失敗し、今持っている:

$(document).ready(function(){ 
    var count = 0; 
    setInterval(function(){ 
     count++; 
     $('#timer').html(count + ' secs.'); 
    },1000); 

// displays user structureand suggested answers on structure page 
$('#process_structure').click(function() { 
    var text = $.ajax ({ 
     type: "POST", 
     url: "structure_process.php", 
     data: $('#inputs_structure').serialize(), data: {count: count}, 
     dataType: "json", 
     async: false, 
    }).responseText; 
    $('#test_ajax').html(text); 
}) 
}); 

任意のポインタをいただければ幸いです。ありがとう! structure_process.phpを想定し

+0

ユーザーが操作できないように、サーバー側にタイマーを設定することができます。セッション変数を使用することができます。フロントエンドのタイマーは単にダミーにすることができます – Ibu

答えて

1

あなたは、serializeArray()代わりのserialize()を使用したデータのあなたの余分な部分を追加し、その後jQuery.ajax()が受け入れることを文字列に配列を変換するためにjQuery.param()を使用することができ、一緒に両方のデータを受け入れます。

$('#process_structure').click(function() { 
    var postData = $('#inputs_structure').serializeArray(); 
    postData.push({name: 'count', value: count}); 
    var text = $.ajax ({ 
     type: "POST", 
     url: "structure_process.php", 
     data: $.param(postData), 
     dataType: "json", 
     async: false, 
    }).responseText; 
    $('#test_ajax').html(text); 
}); 
+0

興味深い。そして、私は$ _POST ['count']を使ってstruct_process.phpのカウントデータを取り出すことができるはずですか?私は何か不足しているかもしれませんが、あなたのコードを試して、$ _POSTを通してカウントにアクセスしました。 –

+0

はい、これはPOSTデータに 'count'という追加の値を追加するはずです。 –

+0

+1の '$ .param()' – diEcho