从jquery ajax获取数据数组

时间:2018-02-07 21:00:25

标签: php jquery ajax

我试图以直接的方式进行简单的回调

$(function(){
        $("input[name='inputs_picture']").on("change", function(){

            var formData = new FormData($("#frn_pic_id")[0]);
            var ruta = "image-ajax.php";
            $.ajax({
                url: ruta,
                type: "POST",
                data: formData,
                contentType: false,
                processData: false,
                success: function(datos)
                {


                    var $directions = datos;
                    var $prov_rut = $directions['prov_rut'];                

                    $("#picture_product").html($prov_rut);
                    $("#ajax_res").attr("style", "visibility: visible");
                }
            });
        });
    });

var $ directions是我以非常简单的方式创建的数组

$src = $folder.$name;
    $directions = array();
    $directions["prov_rut"] = $prov_rut;
    $directions["destino"] = $src;
    echo $directions;

我想要做的只是获取数组的值并在以后使用它们,我已经尝试了一切 提前谢谢您花了一分钟时间让我离开这个被阻止。

3 个答案:

答案 0 :(得分:0)

回显数组没有任何用处,它只打印单词Array。您需要使用JSON。

echo json_encode($directions);

然后在$.ajax()代码中,使用:

dataType: 'json',

告诉jQuery解析JSON结果。然后,您就可以在datos.prov_rut函数中使用datos.destinosuccess:

答案 1 :(得分:0)

您可以使用json_encode函数将您的php数组转换为json数组

echo json_encode($directions);

要在ajax成功中解析json,你可以使用

var response = JSON.parse(datos);

响应将是json对象

答案 2 :(得分:0)

所以如果它的单个diamention数组lek [10,20,30]那么我们在这里谈论什么样的数组

然后你可以做

for(var i=0 ;i< datos.length; i++)
{
var val = datos[i];
}

如果它的对象数组(json)[{id:1,nam:Rahul}]那么

$(datos).each(function()
{
 val =  this.objectName
})