访问从php发送到js的数组

时间:2013-12-17 13:49:04

标签: javascript php json arrays

所以我试图从php文件向js发送一个json对象数组。

我正在使用的方法似乎正在工作,因为我使用console.log打印我得到的对象(数组),我得到了我真正发送的以下格式

(
[0] => {"id":"1","name":"mmdftd","phone":"5785","year":"2013","app_status":"in_progress"}
[1] => {"id":"2","name":"shsoshsdo","phone":"58","year":"2013","app_status":"in_progress"}
)

但是我在阅读这个数组时面临一个问题

我尝试了不同的方式来访问它

第一种方式:.each功能

$(data).each(function() {
        console.log("This| " + this);
    console.log("ID| " + val.id);
    console.log("Name| " + val.name);
    console.log("Phone| " + val.phone);
    console.log("Year| " + val.year);
    console.log("APP Status| " + val.app_status);
}

然而,这会导致以下错误

Uncaught Error: Syntax error, unrecognized expression: Array

第二种方式:使用while loog 我正在使用这个条件循环

while(data[i] != null)

然而,这导致无限循环

访问此类阵列的最佳做法是什么? 提前致谢

2 个答案:

答案 0 :(得分:1)

关于PHP:

$data = array(
     [0] => array("id"=>"1","name"=>"mmdftd","phone"=>"5785","year"=>"2013","app_status"=>"in_progress"),
     [1] => array("id"=>"2","name"=>"shsoshsdo","phone"=>"58","year"=>"2013","app_status"=>"in_progress")
)

echo json_encode($data);

在JavaScript上:

假设您通过ajax请求获取数据。

 $.get('url-to-php-file.php', function(data) {
         data = JSON.parse(data);
         // Here you can do whatever you want with the data
    });

答案 1 :(得分:1)

尝试以下方法......

$.each(data, function(key, value){
    var obj = JSON.parse(value);
    $.each(obj, function(key2, value2){
    console.log(key2 + ' - ' + value2);
    });
});