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 代码中,尝试将数组的所有值放在一个字符串中,然后只做一个回显然后返回。

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

尝试使用 firebug 或 Chrome 开发工具等工具查看 http 请求中的参数和响应,并能够定位错误(在客户端或服务器端)。

希望这可以帮助 !

于 2013-04-22T14:23:21.433 回答