KendoUI: Daten per AJAX Request aus einer JSON-Datenquelle (aus einem PHP Script) einlesen

Um in KendoUI Daten (z.Bsp. für einen "Grid" = Tabelle/Datengitter) aus einer JSON Datenquelle einzulesen, hilft Ihnen diese Anleitung. Als Datenquelle dient in diesem Beispiel ein PHP Script. Das Grid wird im HTML Code deklariert:

Im script-Bereich später dann durch die KendoUI Funktionen aktiviert:
$(document).ready(function() {
        var grid = $("#grid").kendoGrid({
                dataSource: {
                        transport: {
                                read: {
                                        url: "test.php",
                                        dataType: "json"
                                }
                        },
                        schema: {
                                data: "data"
                        }
                },
                columns: [
                            { field: "ID", width: 60 },
                            { field: "title", title: "Titel" },
                            { field: "author", title: "Autor" },
                            { field: "isbn", title: "ISBN", width: 60 }
                            // [...]
                ],
                height: 600,
                sortable: true,
                // [...]
        });
});
Das folgende PHP Beispielscript liefert die Musterdaten:

Das Beispiel kann auf auf die DropDownList von KendoUI übertragen werden. Dann das Element wie folgt definiert werden:
        $("#dropdown").kendoDropDownList({
                index: 0,
                dataTextField: "title",
                dataValueField: "ID",
                dataSource: {
                        transport: {
                                read: {
                                        url: "test.php",
                                        dataType: "json"
                                }
                        },
                        schema: {
                                data: "data"
                        }
                }
      });