使用ajax的JSON响应创建Javascript数组


Creating a Javascript array using JSON response from ajax

我正在尝试查询数据库,以获取一些可以在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>"));
    }
}

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);

在success函数中,遍历响应JSON数组。

$.each(response, function(index, item) {
    data[index]["column1"] = $(item).column1;
    data[index]["column2"] = $(item).column2;
}