我有这段代码从静态网址获取json对象,然后渲染网格。但我想使用json数据作为AJAX响应进行重新审核,然后使用此响应文本渲染网格。 因为实际部署,我无法使用静态网址。
$("#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",
});
如果您有任何替代方法,请提前感谢您的帮助;我很乐意尝试。
答案 0 :(得分:4)
请记住,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);
}
});
}
}