我正在尝试查询数据库以获取可以在JavaScript数组中使用的一些数据行。数组的格式应该是这样的,所以我以后可以使用它。
var data = [
{
column1: 'Test 1',
column2: 'Some Test'
},
{
column1: 'Test 2',
column2: 'Another Test'
},
{
column1: 'Test 3',
column2: 'Yet Another Test'
}
];
这是我从数据库中获取行的方式
var data = new Array();
$.ajax({
url : 'util/getJSON.php',
type : 'POST',
dataType : 'json',
success : function (response) {
}
});
我创建JSON的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>"));
}
}
答案 0 :(得分:1)
<强>的Ajax:强>
var data = new Array();
$.ajax({
url : 'util/getSupplierList.php',
type : 'POST',
dataType : 'json',
async: false,
success : function (response) {
data = JSON.stringify(response);
}
});
console.log(data);
答案 1 :(得分:0)
在success函数中,遍历响应JSON数组。
$.each(response, function(index, item) {
data[index]["column1"] = $(item).column1;
data[index]["column2"] = $(item).column2;
}