我正在使用KendoUI从远程数据源创建图表,该数据源是JSON文件。
当我为url
参数(在数据源对象内)分配一个远程路径时,指向JSON的图表不会出现。
说赞,
var myVar="some remote url";
dataSource: {
transport: {
read: {
url: myVar,
dataType: "json"
}
}
}
另一方面,如果我直接将网址指定为:
url: "http://myserver-name/somefile.json"
我可以看到正在显示的图表。
我无法弄清楚我做错了什么。
答案 0 :(得分:0)
它应该工作!检查jsfiddle上的以下内容。
var url = "http://demos.kendoui.com/service/Products";
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: url,
dataType: "jsonp"
}
},
pageSize: 4,
schema: {
model: {
id: "ProductID",
fields: {
ProductID: {
editable: false,
nullable: true
},
ProductName: "ProductName"
}
}
}
});
$("#kendogrid").kendoGrid({
dataSource: dataSource,
columns: [
{
field: "ProductID",
title: "ID"},
{
field: "ProductName",
title: "Name"}
]
});
这是HTML:
<div id="kendogrid"></div>
它定义了一个外部网址并将其设置为变量(url
),然后使用生成的DataSource
。
检查差异或在jsfiddle或jsbin中尽可能完整地发布代码。
答案 1 :(得分:0)
好吧,你的解决方案对我有用,但方式不同。我从.cs文件中获取url值并存储在javascript变量中。 var URL =“&lt;%= myCSvariable%&gt;”;
但仅此一点不起作用...... :( 我不得不修改URL变量值为, var completeURL =“\”“+ URL +”\“”;
然后将dataSource对象创建为,
var mydataSource = new kendo.data.DataSource({
transport: {
read: {
url: URL, // this is the tricky part. Using 'completeURL' here doesnt creates my chart , instead 'URL' works just fine.
dataType: "json"
}
}
});
我知道它的STRANGE,但这对我有用.. 无论如何,非常感谢.. :))