2013-03-18 45 views
0

我想實現AJAX調用方法爲使用笨我的網站,所以當用戶點擊一個按鈕,它會實時更新。問題的笨顯示陣列 - 阿賈克斯

的點擊按鈕的作品,並顯示所有的JSON數據,但問題是,當我嘗試顯示特定陣列不打印出來它顯示單值,如「H」

我想成爲能夠打印特定陣列例如包含字符串「傑米」

任何幫助,將理解該陣列

控制器

public function insertJSON() 
    { 
     $this->load->model("values"); 
     $queryresults = $this->values->getDb(); 

     $arr = array(); 
     $arr2 = array(); 


     foreach($queryresults as $row) 
     { 
      $arr[] = $row->post; 
      $arr2[] = $row->img; 
     } 

        $data = array(); 
        $data[] = $arr; 
        $data[] = $arr2; 

        echo json_encode($data); 
    } 

查看

<script type='text/javascript' language='javascript'> 
    $('#getdata').click(function() { 
    $.ajax({ 
     url: '<?php echo base_url().'index.php/welcome/insertJSON';?>', 
     async: false, 
     type: "POST", 
     success: function(data) { 
     $('#result_table').html(data[1]); 
     } 
    }) 
    }); 
</script> 

的變量

array(2) { 
    [0]=> 
    array(4) { 
    [0]=> 
    string(5) "Jamie" 
    [1]=> 
    string(4) "Mark" 
    [2]=> 
    string(5) "James" 
    [3]=> 
    string(5) "hello" 
} 
[1]=> 
    array(4) { 
    [0]=> 
    string(16) "[email protected]" 
    [1]=> 
    string(15) "[email protected]" 
    [2]=> 
    string(15) "[email protected]" 
    [3]=> 
    string(16) "[email protected]" 
} 
} 
+0

你必須徹底循環JSON對象 – Shaolin 2013-03-18 13:34:54

+0

'數據[1]'映射到第二陣列,你已經加入到'$ data'陣列。你需要'data [0] [0]'來獲得'jamie'和'data [1] [0]'來獲得'oliver @ hotmail.com' – Gavin 2013-03-18 13:35:04

+0

我想我會嘗試'data [0 ] [0]'來得到傑米,但它顯示「<」,它真的讓我困惑 - 我認爲這表明我沒有正確地抓住JSON – Hashey100 2013-03-18 13:36:13

回答

1

Vardump如果你想display a specific array然後使用[]操作

$('#result_table').html(data[0][0]); //will print Jamie 
$('#result_table').html(data[0][3]); //will print hello 
$('#result_table').html(data[1][1]); //will print [email protected] 
1

嘗試在您返回的數據運行以下命令:

data = JSON.parse(data); 

所以:

success: function(data) { 
    data = JSON.parse(data); 
    $('#result_table').html(data[1]); 
} 
0

一些信息:要獲得JSON正確,您應該設置輸出TYPE投入產出這樣前:

$this->output->set_content_type('application/json'); 

然後設置輸出這樣的:

$this->output->set_output(json_encode($data)); 

但是根據你的var轉儲$ data [1]會顯示對象[]和上面所有回答r是正確的。 :)