通过ajax json将数组发送到php

时间:2012-11-14 02:20:07

标签: jquery ajax

我想通过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循环循环该数组,谢谢......

1 个答案:

答案 0 :(得分:1)

你要连接一个不起作用的数组和文本。您可以将数组作为JSON字符串发送,并在收到它时对其进行解码。

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

然后在php:

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

php中的一个简单测试是print_r( $respuestas)并查看浏览器控制台中返回的数组