0

javascript 配列を php に渡して値を出力したいのですが、うまくいきません。私は何を間違っていますか?

JavaScript

   $('#Enviar0').click(function() {
        var buttons0 = [];
        for(var i=0;i<4;i++){
            buttons0[i]+= $('butEnv'+i).val();
            alert($('butEnv'+i).val());
        }
        var array=buttons0.toJSONString();
        $.ajax({ 
               type:"POST",
               url:"pintaParte.php",
               data: {encapsulado:array},
               success: function(data) {
                        $("#pinta").html(data);
               }
        });         
    });

php

$buttons0=parseJSON($_POST['encapsulado']);
foreach ($buttons0 as $value) {
    echo $value.'<br>';
}
4

2 に答える 2

4

JSON.stringify()クライアント側で使用:

$.ajax({ 
               type:"POST",
               url:"pintaParte.php",
               data: JSON.stringify({encapsulado:array}),
               success: function(data) {
                        $("#pinta").html(data);
               }
        }); 
于 2013-04-22T14:12:42.320 に答える
0

php 側で (ajax 呼び出しの後) 配列が正常かどうかを確認しますか?

PHP側で配列を取得できない場合は、JavaScriptで単純に使用してみてください...

data : "encapsulado=" + array

そして、あなたのphpコードでは、配列のすべての値を1つの文字列に入れ、エコーを1つだけにしてからリターンするようにしてください。

$str = "";
foreach ($buttons0 as $value) {
    $str = $str.$value.'<br>';
}
echo $str;
return;

firebug や Chrome 開発ツールなどのツールを使用して、http リクエストのパラメーターと応答を確認し、(クライアント側またはサーバー側で) エラーを特定できるようにしてください。

お役に立てれば !

于 2013-04-22T14:23:21.433 に答える