将数据从JSON转换为JavaScript数组

时间:2014-01-18 16:14:31

标签: javascript php json

我在转换来自“naloga3.php”的数据时出现问题。 我怎样才能从JSON转换为数组。

JAVASCRIPT

<script>
function shrani(){

    var formData = {naslov: document.getElementById("naslov").value,
                    besedilo: document.getElementById("besedilo").value,
                    datum:0
                    };


    $.ajax({
        url : "naloga3.php",
        type: "POST",
        data : formData,
        success: function(data, textStatus, jqXHR)
        {
            $('#zapisi').append('<a>'+data+'</a></br>');
            var x = eval("(" + data + ")");
            for(var i=0;i<x.length;i++)
            {
                $('#zapisi').append('<a>'+x.length+'</a></br>');
            }

        },
        error: function (jqXHR, textStatus, errorThrown)
        {
            $('#zapisi').append('<a>Napaka</a></br>');
        }

    });

}


</script>

naloga3.php

<?php

$file="podatki.txt";
$podatki=file_get_contents($file);

$izpolje=array();
$izpolje= json_decode($podatki,true);
$polje=$_POST;
$polje['datum']=date('H:i:s');
if($izpolje!=null)
{
    array_unshift($izpolje,$polje);
    file_put_contents($file,json_encode($izpolje));
}else
{
    $tr=array();
    array_unshift($tr,$polje);
    file_put_contents($file,json_encode($tr));
}


$podatki=file_get_contents($file);
echo json_encode($izpolje);

?>

我的输出

[{ “naslov”: “d”, “besedilo”: “d”, “基准”: “16点07分05秒”},{ “naslov”: “DDDD”, “besedilo”: “d” , “基准”: “15点51分41秒”},{ “naslov”: “d”, “besedilo”: “d”, “基准”: “15时51分33秒”},{ “naslov”:” d “ ”besedilo“: ”d“, ”基准“: ”十五时51分30秒“},{ ”naslov“: ”d“, ”besedilo“: ”d“, ”基准“:” 15点51分: 26" }]

1 个答案:

答案 0 :(得分:0)

您需要做的是将ajax响应的dataType设置为json,然后您需要迭代返回的对象并在$.each()循环中追加。

$.ajax({
    url : "naloga3.php",
    type: "POST",
    data : formData,
    dataType: "json", // jQuery will now parse the returned data and return an object
    success: function(data, textStatus, jqXHR)
    {

        $.each(data, function(i,obj){
            //now you can acess navlos, besedilo and datum
            $('#zapisi').append(obj.naslov+'</br>');
            $('#zapisi').append(obj.besedilo+'</br>');
            $('#zapisi').append(obj.datum+'</br>');
        });
    },
    error: function (jqXHR, textStatus, errorThrown)
    {
        $('#zapisi').append('<a>Napaka</a></br>');
    }

});