yii2中的Json文件格式错误

问题描述:

嗨,大家好,我正在使用Jquery插件来显示日历中的事件,我可以在我的视图文件中看到插件日历,问题是我无法为插件创建有效的json格式文件yii2中的Json文件格式错误

这是在插件演示页

<?php 
header('Content-type: text/json'); 
echo '['; 
$separator = ""; 
$days = 16; 
echo ' { "date": "1314579600000", "type": "meeting", "title": "Test Last Year" },'; 
echo ' { "date": "1377738000000", "type": "meeting", "title": "Test Next Year"},'; 
for ($i = 1 ; $i < $days; $i= 1 + $i * 2) { 
    echo $separator; 
    $initTime = (intval(microtime(true))*1000) + (86400000 * ($i-($days/2))); 
    echo ' { "date": "'; echo $initTime; echo '", "type": "meeting", "title": "Project '; echo $i; echo ' meeting", },'; 
    echo ' { "date": "'; echo $initTime+3600000; echo '", "type": "demo", "title": "Project '; echo $i; echo ' demo" },'; 

    $separator = ","; 
} 
    echo ']'; 
?> 

应该是什么我controller代码以显示数据给出的格式。我在下面的答案中尝试了格式,但它仍然没有正确显示数据。

我认为我在前端收到的json格式有问题。第一形象是我的本地我在哪里接收数据,第二个是插件的演示和阵列格式是有点不同的我想和那

enter image description here

enter image description here

你为什么不创建问题一个控制器,并把一个'事件'行动?

<?php 
namespace app\controllers; 


class SiteController extends Controller 
{ 
    public function actionEvent() 
    { 
     /* Input parameters */ 
     $limit = \Yii::$app->request->get('limit'); 
     $year = \Yii::$app->request->get('year'); 
     $month = \Yii::$app->request->get('month'); 
     $day = \Yii::$app->request->get('day'); 

     /* Fill data */ 
     $data = []; 
     $data[] = [ 'date' => '1314579600000', 'type' => 'meeting', 'title' => 'Test Last Year' ]; 

     /* 
     ... 
     ... other data ... 
     ... 
     */ 

     /* Prepare the content output*/ 
     \Yii::$app->response->format = 'json'; 
     echo \yii\helpers\Json::encode($data); 
    } 
} 

最后调用动作:

$("#eventCalendarNewWindow").eventCalendar({ 
     eventsjson: "<?php echo \yii\helpers\Url::to(['site/event']) ?>", 
     openEventInNewWindow: true, 
     showDescription: true // also it can be false 
}); 
+0

我试过之前,但与这个问题是我能得到响应返回到浏览器不错,但它不显示在活动日期什么。它仍然显示那天没有事件,这就是为什么我尝试这种格式。 –

+0

也许是描述字段(现在在代码中缺少)是强制性的? –

+0

@ FabrizioCaldarelli没关系。我尝试了没有描述并将其设置为false。 –