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”是我的数组

这只是我代码的一部分,我希望它有助于说明我的观点

我能得到任何帮助,这让我发疯了好几个小时,我想用 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 回答