我在转换来自“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" }]
答案 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>');
}
});