Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript从php获取json数据_Javascript_Php_Json - Fatal编程技术网

使用javascript从php获取json数据

使用javascript从php获取json数据,javascript,php,json,Javascript,Php,Json,我是json新手。我从php代码中获取json格式的数据 [ { "Title": "New Event", "TYPE": "info", "StartsAt": "16 November 201512:00", "EndsAt": "25 November 201512:00" }, { "Title": "Party", "TYPE": "warning",

我是json新手。我从php代码中获取json格式的数据

[
    {
        "Title": "New Event",
        "TYPE": "info",
        "StartsAt": "16 November 201512:00",
        "EndsAt": "25 November 201512:00"
    },
    {
        "Title": "Party",
        "TYPE": "warning",
        "StartsAt": "25 November 2015 09:30",
        "EndsAt": "25 November 2015 5:30"
    },

]
我有一个javascript文件demo.js

我想在js文件中接收这些数据,目前数据是硬编码的。我想显示我从db获取的事件

vm.calendarView = 'month';
vm.calendarDay = new Date();

 vm.events = [
  {
    title: 'An event',
    type: 'warning',
    //startsAt: moment().startOf('week').subtract(2, 'days').add(8, 'hours').toDate(),
    //endsAt: moment().startOf('week').add(1, 'week').add(9, 'hours').toDate(),
    startsAt:new Date(2015,10,1,1),
    endsAt:new Date(2013,5,1,1),
    draggable: true,
    resizable: true
  }, {
    title: '<i class="glyphicon glyphicon-asterisk"></i> <span class="text-primary">Another event</span>, with a <i>html</i> title',
    type: 'info',
    startsAt: moment().subtract(1, 'day').toDate(),
    endsAt: moment().add(5, 'days').toDate(),
    draggable: true,
    resizable: true
  }, {
    title: 'This is a really long event title that occurs on every year',
    type: 'important',
    startsAt: moment().startOf('day').add(7, 'hours').toDate(),
    endsAt: moment().startOf('day').add(19, 'hours').toDate(),
    recursOn: 'year',
    draggable: true,
    resizable: true
  }
];
vm.calendarView='month';
vm.calendarDay=新日期();
vm.events=[
{
标题:"事件",,
键入:“警告”,
//startsAt:moment().startOf('week')。减去(2,'days')。加上(8,'hours')。toDate(),
//endsAt:moment().startOf('week').add(1,'week').add(9,'hours').toDate(),
起始日期:新日期(2015年10月1日),
endsAt:新日期(2013年5月1日),
真的,
可调整大小:true
}, {
标题:“另一个事件,带有html标题”,
键入:“info”,
startsAt:moment().减去(1,'天').toDate(),
endsAt:moment().add(5,'天').toDate(),
真的,
可调整大小:true
}, {
标题:“这是一个非常长的事件标题,每年都会发生”,
键入:“重要”,
startsAt:moment().startOf('day').add(7,'hours').toDate(),
endsAt:moment().startOf('day').add(19,'hours').toDate(),
“年”,
真的,
可调整大小:true
}
];

如果问题大致上是“如何从数据库中获取数据并将其输出为Javascript中的JSON”,那么希望下面的伪代码将为您提供正确的指导

<?php
    include 'db.php';

    $json=array();

    /* Query the db */
    $sql='select * from `events`;';
    $res=$db->query( $sql );
    if( $res ){
        while( $rs=$res->fetch_object() ){
            $json[]=array(
                'title'     =>  $rs->title,
                'type'      =>  $rs->type,
                'startsAt'  =>  $rs->startsAt,
                'endsAt'    =>  $rs->endsAt,
                'draggable' =>  $rs->draggable,
                'resizable' =>  $rs->resizable
            );  
        }
    }
    $db->close();
    $js_json_var=json_encode( $json, JSON_FORCE_OBJECT );       
?>

<html>
    <head>
        <title></title>
        <script>
            var json=<?php echo $js_json_var;?>;
            /* Other js code */
        </script>
    </head>
    <body>
        <h1>json</h1>
    </body>
</html>

var json=;
/*其他js代码*/
json

如果问题大致上是“如何从数据库中获取数据并将其输出为Javascript中的JSON”,那么希望下面的伪代码将为您提供正确的指导

<?php
    include 'db.php';

    $json=array();

    /* Query the db */
    $sql='select * from `events`;';
    $res=$db->query( $sql );
    if( $res ){
        while( $rs=$res->fetch_object() ){
            $json[]=array(
                'title'     =>  $rs->title,
                'type'      =>  $rs->type,
                'startsAt'  =>  $rs->startsAt,
                'endsAt'    =>  $rs->endsAt,
                'draggable' =>  $rs->draggable,
                'resizable' =>  $rs->resizable
            );  
        }
    }
    $db->close();
    $js_json_var=json_encode( $json, JSON_FORCE_OBJECT );       
?>

<html>
    <head>
        <title></title>
        <script>
            var json=<?php echo $js_json_var;?>;
            /* Other js code */
        </script>
    </head>
    <body>
        <h1>json</h1>
    </body>
</html>

var json=;
/*其他js代码*/
json

Javascript:AJAX请求:

var events;
$.ajax({
   url: '/data.php',
   success: function(data){
         events = JSON.parse(data);
   }
});
php是这样的

$db = new PDO(/* init connection here */);
print json_encode($db->query('select * from `tablename`')->fetchAll(PDO::FETCH_ASSOC));

Javascript:AJAX请求:

var events;
$.ajax({
   url: '/data.php',
   success: function(data){
         events = JSON.parse(data);
   }
});
php是这样的

$db = new PDO(/* init connection here */);
print json_encode($db->query('select * from `tablename`')->fetchAll(PDO::FETCH_ASSOC));

我不明白你的实际问题。它是如何使用XmlHttpRequest的?它正在解析JSON数据吗?(提示:
JSON.parse
)正在使用某个库?我不理解您的实际问题。它是如何使用XmlHttpRequest的?它正在解析JSON数据吗?(提示:
JSON.parse
)正在使用某个库吗?