0

Ajax Json 経由で配列を php に送信したいのですが、それができません。送信すると、サーバー側で取得できるのは csv 文字列だけです。

これが私の配列を作成する私のjqueryコードです

$('#guardar_curso').click(function(){
    var respuestas = new Array();

    var a = 0;
    var b = 0;
    var c = 0;

    var last_hidden = $('body').find('input[type="hidden"]').filter(':last');
    last_hidden = parseInt(last_hidden.val()) + 1;
    var count = 0;
    for(var a = 0; a<last_hidden; a++){
        for(var b = 0; b<4; b++){

            c = $('body').find('input[name="resp['+ a +']['+ b +']"]').val();
                if(c == ''){
                    respuestas[count] = c; //ignore this

                }else{
                    respuestas[count] = c; 
                }
            count++;
            }
        }

これは私のjqueryコードで、送信ボタンからAjax呼び出しがトリガーされます:

                $.ajax({
                        type:"POST",
                        url:CI.base_url + 'admin/guardar_curso',
                        data: curso_data + '&respuestas=' + respuestas,
                        dataType:"json",
                        success:function(response){
                            $.each(response, function(key, value){
                                salida = salida + value + "\n";
                            })  

curso_data はシリアル化されたデータで、「respuestas」は配列です

それは私のコードの一部にすぎません。私の主張を理解するのに役立つことを願っています

plzを得ることができる助けがあれば、これは私を何時間も夢中にさせてきました.PHPでforeachループを使用してその配列をループしたいです.

4

1 に答える 1

1

機能しない配列とテキストを連結しようとしています。配列を JSON 文字列として送信し、受信時にデコードすることができます。

data: curso_data + '&respuestas=' + JSON.stringify(respuestas),

次にphpで:

 /* convert json to php array*/
$respuestas= json_decode($_POST['respuestas']); 

PHP での簡単なテストは print_r( $respuestas)、ブラウザ コンソールで返された配列を確認することです。

于 2012-11-14T02:29:32.153 に答える