javascript - 如何从 AJAX 响应数据渲染 Kendo UI 网格?

标签 javascript jquery ajax kendo-ui kendo-grid

我有这段代码,它从静态网址获取json对象,然后渲染网格。但我想使用作为 AJAX 响应检索的 json 数据,然后使用此响应文本渲染网格。 因为在实际部署中我无法使用静态 URL。

    $("#grid").kendoGrid({
    dataSource: {
        type: "json",
        transport: {
            read: {url: "http://url/returnsjsonobject.php"}
            //THIS GETS DATA FROM STATIC URL BUT I WANT TO READ DATA AS AJAX RESPONSE
            //like read: somefunctioncall
            //or like read: somevariable
        },
        schema: {
            model: {
                fields: {
                    id: {type: "string", editable: false},
                    name: {type: "string"}

                }
            }
        },
        pageSize: 20
    },
    height: 430
    columns: [
        {field: "id", title: "ID", width: "20px", hidden: "true"},
        "name",
});

提前感谢您的帮助以及您是否有任何替代方法;我很乐意尝试。

最佳答案

请记住transport.read.url不一定是常量,但可以是函数:

transport: {
    read: {
        url: function(options) {
            return "somefunctionalcall?id=" + options.id,
        },
        dataType: "json"
}

甚至定义 transport.read作为一个函数:

transport: {
    read: function (options) {
        $.ajax({
            dataType: "json",
            url: "somefunctionalcall",
            success: function (d) {
                options.success(d);
            }
        });
    }
}

关于javascript - 如何从 AJAX 响应数据渲染 Kendo UI 网格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20742061/

相关文章:

javascript - AJAX 未提交表单

jquery - 在 Bootstrap 中使用 pull-right 类垂直居中对齐元素

javascript - JQuery-AJAX 表单提交但重新加载页面,更改 url

javascript - 如何动态更改 ExtJS 中的组件可见性

php - 使用图像的原始文本并显示它

javascript - 使用 jquery 或 javascript 在没有表单或提交按钮的情况下在同一页面 url 上传递文本框值

JavaScript 与 IE8 的不兼容问题

javascript - 根据下拉列表中的选择动态初始化未保存父对象的子记录

javascript - 如果请求每 200 毫秒重复一次,如何仅显示一次?

javascript - event.stopPropagation() 在 jQuery 事件处理程序中不起作用