Проблемы с чтением из JSON (Kendo UI)

мой босс сказал мне, чтобы проверить kendo ui, особенно чтение планировщика из json. В целях тестирования я написал файл php для вывода json:

<?php
header("Content-Type:application/json");

$cars = array
(
0 => array(
'Id'=>'DN-DP-1596',
'Title'=>'Business Trip to Cologne',
'Description'=>'Appoinment with Acme Inc.',
'StartTimeZone'=>null,
'Start'=>'2016/1/12 07:00 AM',
'End'=>'2016/1/12 09:00 AM',
'EndTimeZone'=>null,
'RecurrenceRule'=>null,
'RecurrenceID'=>null,
'RecurrenceException'=>null,
'IsAllDay'=>false
),
1 => array(
'Id'=>'DN-UQ-1503',
'Title'=>'Business Trip to Cologne',
'Description'=>'Appoinment with Bauer GmbH.',
'StartTimeZone'=>null,
'Start'=>'2016/1/12 09:30 AM',
'End'=>'2016/1/12 10:30 AM',
'EndTimeZone'=>null,
'RecurrenceRule'=>null,
'RecurrenceID'=>null,
'RecurrenceException'=>null,
'IsAllDay'=>false
),
2 => array(
'Id'=>'DN-VH-791',
'Title'=>'Business Trip to Cologne',
'Description'=>'Trading conference',
'StartTimeZone'=>null,
'Start'=>'2016/1/12 01:00 PM',
'End'=>'2016/1/12 03:00 PM',
'EndTimeZone'=>null,
'RecurrenceRule'=>null,
'RecurrenceID'=>null,
'RecurrenceException'=>null,
'IsAllDay'=>false
)
);
$callback = $_GET['callback'];
print $callback.'('.json_encode($cars).')';

Затем я написал html, чтобы проверить планировщик кендо:

    <div id="scheduler"></div>
<script>
$("#scheduler").kendoScheduler({ date: new Date("2016/1/13") });
var scheduler = $("#scheduler").data("kendoScheduler");
var dataSource = new kendo.data.SchedulerDataSource
({
transport:
{
read:
{
url:"carService.php",
dataType:"jsonp"}
}

});
dataSource.fetch(function()
{
var cars = dataSource.data();
var dataItem = dataSource.get(0);

console.log(dataItem.Title);
})

К сожалению, я не получаю вывод на консоль или что-нибудь еще, есть идеи по этому поводу? помощь очень ценится, мой босс терроризирует меня!

1

Решение

Я попытался с тем же кодом и внес незначительные изменения в коде. взгляните на код ниже.

test.html

<link rel="stylesheet" href="http://kendo.cdn.telerik.com/2016.1.112/styles/kendo.common.min.css"/>
<link rel="stylesheet" href="http://kendo.cdn.telerik.com/2016.1.112/styles/kendo.rtl.min.css"/>
<link rel="stylesheet" href="http://kendo.cdn.telerik.com/2016.1.112/styles/kendo.silver.min.css"/>
<link rel="stylesheet" href="http://kendo.cdn.telerik.com/2016.1.112/styles/kendo.mobile.all.min.css"/>

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://kendo.cdn.telerik.com/2016.1.112/js/kendo.all.min.js"></script>

<div id="scheduler"></div>
<script>
var dataSource = new kendo.data.SchedulerDataSource({
transport: {
read: {
url: "test.php",
dataType: "jsonp"}
}
});
dataSource.fetch(function () {
var event = this.at(0);
console.log(event.Title);
});
</script>

test.php — Для данных JSON

<?php
$cars = array
(
0 => array(
'Id'=>'DN-DP-1596',
'Title'=>'Business Trip to Cologne',
'Description'=>'Appoinment with Acme Inc.',
'StartTimeZone'=>null,
'Start'=>'2016/1/12 07:00 AM',
'End'=>'2016/1/12 09:00 AM',
'EndTimeZone'=>null,
'RecurrenceRule'=>null,
'RecurrenceID'=>null,
'RecurrenceException'=>null,
'IsAllDay'=>false
),
1 => array(
'Id'=>'DN-UQ-1503',
'Title'=>'Business Trip to Cologne',
'Description'=>'Appoinment with Bauer GmbH.',
'StartTimeZone'=>null,
'Start'=>'2016/1/12 09:30 AM',
'End'=>'2016/1/12 10:30 AM',
'EndTimeZone'=>null,
'RecurrenceRule'=>null,
'RecurrenceID'=>null,
'RecurrenceException'=>null,
'IsAllDay'=>false
),
2 => array(
'Id'=>'DN-VH-791',
'Title'=>'Business Trip to Cologne',
'Description'=>'Trading conference',
'StartTimeZone'=>null,
'Start'=>'2016/1/12 01:00 PM',
'End'=>'2016/1/12 03:00 PM',
'EndTimeZone'=>null,
'RecurrenceRule'=>null,
'RecurrenceID'=>null,
'RecurrenceException'=>null,
'IsAllDay'=>false
)
);
$callback = $_GET['callback'];
print $callback.'('.json_encode($cars).')';

вывод на консоль:

Business Trip to Cologne

Так что все, что вам нужно изменить в php-файле, повторяя вывод json.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]