簡體   English   中英

如何通過回撥到php腳本訪問JSON對象?

[英]How can I access JSON objects from my call back to php script?

從我的scrip.js文件中,我正在使用jquery $ .post函數發布一些數據(實際上,到目前為止,我只是想讓我的電話恢復正常工作,以便我可以讀取一些數據)。

 $('document').ready(function(){

    $.post("index.php/main/showData", 
     function(data){
        console.log(data);
        for (var name in data){
            alert(name);
        }
     }, "json");
});

我正在使用codeigniter從mysql訪問數據:

class Main extends CI_Controller
{
    function showData()
{
    $this->load->model('ajax');
    $array = array($this->ajax->getRecArray());

    // $this->index();
    echo json_encode($array);
}

我的模特

class Ajax extends CI_Model
{
    function getRecArray()
{
    $query = $this->db->query("SELECT * FROM record_table WHERE id = 1");
    $row = $query->result();
    return $row;
}
}

當我console.log(data)我得到:

[[Object { id="1", name="scott"}]]

我的問題是,如何使用script.js訪問單個屬性或對象? 例如,如何訪問該對象數組中的name值?

 $('document').ready(function(){

    $.post("index.php/main/showData", 
     function(data){
        console.log(data);
        for (var name in data[0][0]){
            alert(data[0][0][name]);
        }
     }, "json");
});

那應該做。

當使用for .. in遍歷對象時,指定的變量不包含數據,而是包含成員名稱的字符串。 在JS中,您可以通過語法data.member或data [“ member”]訪問對象成員,由於您擁有字符串,因此在這種情況下您將希望使用后者。

此外,在這種特定情況下,數據是數組內部的對象,該對象位於數組內部,這是按級別細分的返回數據:

[
    [
        Object { 
            id="1", 
            name="scott"
        }
    ]
]

因此,為什么需要語法數據[0] [0] [name]; 這應該很容易在PHP計數器部分中解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM