从JSON创建JS数组

时间:2016-04-11 23:39:57

标签: php jquery arrays json

我在jQuery中有以下AJAX函数:

$.post('../../afisare.php', {"fac_name" : facility_name }, function(response) {
            alert(response);
});

$.ajax({
    url: "../../afisare.php",
    dataType: "JSON",
    success: function(json){
        console.log(json);
    }
});

以下编码在php文件中:

$facility_name = $_POST['fac_name'];

$facility_data = getFacilities($facility_name);
$facility_data2 = json_encode($facility_data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
print($facility_data2);

php文件中的数组($ facility_data2)完全按照它应该打印。

我的问题是:如何在包含与JSON一样的确切元素的succes函数中创建一个javascript数组?

编辑:还添加了$ .post功能;警报按原样打印JSON,但console.log(json)打印一个空数组。为了澄清:JSON是根据getFacilities函数返回的内容生成的。

稍后编辑:对于遇到与我相同问题的人(最好的建议:彻底阅读文档),这是有效的功能:

$.post('../../afisare.php', {"fac_name" : facility_name }, function(json) {
    data = JSON.parse(json);
    console.log(data[0].facility_name);
});

我之前尝试的问题是我没有在$ .post函数中使用回调函数,因为我应该有(例如这个函数直接链接到我发布到php文件的变量,因此是无法从外部读取该功能)。

2 个答案:

答案 0 :(得分:1)

var result = [];

for(var i in json)
    result.push([i, json [i]]);

答案 1 :(得分:0)

$.post('../../afisare.php', {"fac_name" : facility_name }, function(json) {
    data = JSON.parse(json);
    console.log(data[0].facility_name);
});

我之前尝试的问题是我没有在$ .post函数中使用回调函数,因为我应该有(例如这个函数直接链接到我发布到php文件的变量,因此是无法从外部读取该功能)。