2017-01-31 42 views
-1

最後,我從PHP中獲得了一些輸出,而不是「數組」。這花了我一天,AAAAHHHH。從JS數組中取出數據

(參見here用於溶液)

因此,這是從XMLHTTP請求(到PHP)的返回值,通過在JS回調。我在PHP中使用print_r

我在這裏發佈結果摘錄。 我的新問題:

  • 這是什麼數據結構?
  • 如何從此結構中獲取元素,如CourseID(在JS中)?

    [0] => Parse\ParseObject Object 
    (
        [serverData:protected] => Array 
         (
          [CourseID] => DEMO2 
          [EndDate] => DateTime Object 
           (
            [date] => 2017-03-31 10:26:00.000000 
            [timezone_type] => 2 
            [timezone] => Z 
           ) 
    
          [InfoTitle1] => Welcome 
          [InfoText1] => Welcome to your course, called "sense & sales". 
          [Admin] => [email protected] 
         ) 
    

我的PHP代碼是

function getGroups(){ 
    $query = new ParseQuery("CourseInfo"); 
$query->equalTo("Admin", "[email protected]"); 
$results = $query->find(); 


// echo $results  // this lead to the string "array" 
//print_r($results); // this leads to the complicated array 
//echo "<script>\r\n var phpOutput = " . json_encode($results) . ";\r\n console.log(phpOutput);\r\n</script>"; 
// this leads to [{},{}]; 
} 
+1

可能是'$ data [0] - > CourseId'。 – ceejayoz

+1

你需要序列化你的數組,在標記或AJAX調用中 –

+4

你已經標記了這個JavaScript,這個問題應該是獨立的,沒有人需要回頭看看你的另一個。 –

回答

0

您可能希望你的PHP對象首先轉換爲JSON通過json_encode()

這將使您可以像使用任何JavaScript對象一樣方便地在JavaScript中使用它。

+0

一般來說它有,但是這個解析數據不是。這就是問題所在...... ! – Remzo

1

你想要的是一個JavaScript對象,所以你需要使用JSON。

(JSON意味着JavaScript對象符號)。

PHP有json_encode功能,這也將這樣做對你的工作:(http://php.net/manual/en/function.json-encode.php

json_encode - 返回一個值的JSON表示

試試這個:

PHP:

echo "<script>\r\n var phpOutput = " . json_encode($output) . ";\r\n console.log(phpOutput);\r\n</script>"; 

在瀏覽器中按F12以在Developer Tools中打開瀏覽器的控制檯日誌窗口以查看新的JavaScript對象。

+0

感謝肖恩我改變$輸出中,然後將其輸出這樣的: Remzo

+0

檢查你的變量名'json_encode'ing 。它是否是'$ output'?如果不是,將該變量改爲它應該是的。這就是爲什麼包含有問題的代碼很有幫助。 – SeanKendle

+0

請使用PHP代碼更新您的問題,以便我們看到您可能會做錯什麼。 – SeanKendle

0

我停止嘗試在JS中使用此數組/對象。但相反,我在PHP端管理它,並將結果發送給JS。

現在它很簡單。 ( - ;

+1

你是什麼意思,你把結果發送給JS? – SeanKendle

+0

當然。我的意思是'回聲'它的JS(我不知道這是應該被稱爲( - ;) – Remzo

+1

我問的原因是因爲在頁面加載echo'ing它,然後有AJAX,所以我想澄清。謝謝 – SeanKendle