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

时间:2014-10-29 14:53:27

标签: php jquery arrays ajax json

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

2 个答案:

答案 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;
}