我想查询一个数据库来获取我可以在JavaScript数组中使用的一些数据行。数组的格式应该是这样的,以便我可以稍后使用它。使用JSON响应从ajax创建一个Javascript数组
var data = [
{
column1: 'Test 1',
column2: 'Some Test'
},
{
column1: 'Test 2',
column2: 'Another Test'
},
{
column1: 'Test 3',
column2: 'Yet Another Test'
}
];
这是我如何从数据库中获取的行创建的JSON
var data = new Array();
$.ajax({
url : 'util/getJSON.php',
type : 'POST',
dataType : 'json',
success : function (response) {
}
});
我的PHP文件
$sql = "SELECT column1, column2 FROM table";
$stmt = $db->prepare($sql);
$stmt->execute();
$rows = $stmt->fetchAll();
$array = array();
foreach($rows as $key => $row) {
$array[$key]['column1'] = $row['column1'];
$array[$key]['column2'] = $row['column2'];
}
echo json_encode($array);
的问题是我不知道如何创建在ajax调用中使用JSON响应的JavaScript数组。
编辑:
我以后需要使用数据阵列这样
// Loop through the array
for(var i in data){
if(data[i].name.match($search)){
$suggestedUL.append($("<li><span class='suggest-name'>" + data[i].name + "</span><span class='suggest-description'>" + data[i].description + "</span></li>"));
}
}
什么是在控制台输出? – 2014-10-29 14:54:12
你为什么要创建一个数组?为什么不使用json对象? – vaso123 2014-10-29 14:55:02
JSON基本上是javascript。 'response'将成为您在PHP中编码的数据结构的JavaScript等价物,例如它会成为一个对象。你告诉jquery期望JSON,所以jquery会自动解码php发出的JSON字符串,并将其转换为本地javascript结构。 'console.log(response)'会显示你到底收到了什么。 – 2014-10-29 14:55:21