我在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文件的变量,因此是无法从外部读取该功能)。
答案 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文件的变量,因此是无法从外部读取该功能)。