2013-01-02 71 views
0

我通過這個網站搜索了一個解決方案,但不幸的是,根本沒有工作,所以我決定問你們。希望你能幫助我。傳遞數據PHP多維數組到Javascript

我有這個PHP文件,將值推入數組。

PHP文件:

$out_html = array(); 
$type1_ach = array(
    "title" => $ach_info[0], //Title1 is Value of $ach_info[0] 
    "description" => $ach_info[1] //Description1 is Value of $ach_info[1] 
); 
array_push($out_html, $type1_ach); 

$type5_ach = array(
    "title" => $ach_info[0], //Title2 is Value of $ach_info[0] 
    "description" => $ach_info[1] //Description2 is Value of $ach_info[1] 
); 

array_push($out_html, $type5_ach); 

,我又把它使用JSON,因爲我將其通過jQuery的呼應。

echo json_encode($out_html);

這裏是我的HTML文件,它應該輸出,我從PHP文件傳遞的數據。

HTML文件:

function test_pop() { 
    var fb_id = "1**************"; //Facebook ID 
    var v_id = "***********"; //Video ID 

$.post('http://mysite.com/test.php', {fb_id: fb_id, v_id: v_id}, function(data) { 
    var obj = $.parseJSON(data); 
    var title = obj.title; 
    var description = obj.description; 
    var whole_ach = "You obtained " + title + "<br>" + description; 
    console.log(whole_ach); 

}); 
} 

它輸出在控制檯登錄的迴應是:

您獲得未定義< BR>未定義

然後,如果我改變的變量var title = obj.title;var title = obj.title[0]; and description = obj.description into description = obj.description[0]它給出了一個輸出(響應)

遺漏的類型錯誤:無法讀取屬性「0」的未定義

所需的輸出應該是您獲得標題1 < BR>說明1但不幸的是,我似乎無法做對了。

希望你們幫助我,謝謝。

+0

迴應是什麼? –

回答

1

您應該接收一組對象。所以data是一個數組,但你把它當作一個對象來對待。

嘗試循環陣列上:

$.each(obj,function(index, item){  
    console.log(item.title);  
}) 

或者,如果您想直接從主陣列訪問值:

console.log(obj[0].title); 
+0

感謝您的回答!像魅力一樣工作!我欠你一個人情。非常感謝。 :) –

1

需要更新您的JavaScript代碼:

function test_pop() { 
    var fb_id = "1**************"; //Facebook ID 
    var v_id = "***********"; //Video ID 

$.post('http://mysite.com/test.php', {fb_id: fb_id, v_id: v_id}, function(data) { 
    var obj = $.parseJSON(data); 
    var title = obj[0].title; 
    var description = obj[0].description; 
    var whole_ach = "You obtained " + title + "\n" + description; 
    console.log(whole_ach); 

}); 
} 

您需要指定數組索引號:

var title = obj[0].title; 
    var description = obj[0].description; 

希望有所幫助。

+1

感謝您的答案,它也工作,但無法接受你的答案,有人在你面前回答。仍然感謝您所做的努力。 :) –

+0

沒問題。樂意效勞 :) –