从JSON创建JS数组


Creating JS array from 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)中的数组将按原样打印。

我的问题是:如何在successs函数中创建一个javascript数组,该数组包含与JSON完全相同的元素?

编辑:还添加了$.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文件的变量,因此无法从该函数外部读取)。

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

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