在JS

时间:2017-01-31 20:10:56

标签: javascript arrays

最后,我从PHP中获得了一些输出,而不仅仅是单词" array"。这花了我一天,AAAAHHHH。

(有关解决方案,请参阅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] => Remco@Demo1
            )
    

我的PHP代码是

function getGroups(){
  $query = new ParseQuery("CourseInfo");
 $query->equalTo("Admin", "Remco@Demo1");
 $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 [{},{}]; 
}

3 个答案:

答案 0 :(得分:1)

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

(JSON表示JavaScript Object Notation。)

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对象。

答案 1 :(得分:0)

您可能希望首先通过json_encode()将PHP对象转换为JSON。

这将允许您像使用任何JavaScript对象一样在JavaScript中轻松使用它。

答案 2 :(得分:0)

我在JS中停止尝试使用这个数组/对象。但相反,我在PHP端管理它并将结果发送给JS。

现在一切都很简单。 ( - ;