0

我正在使用 KendoUI 从远程数据源(即 JSON 文件)创建图表。当我为 url参数(内部数据源对象)分配一个远程路径时,指向 JSON 图表不会出现。

说喜欢,

var myVar="some remote url"; 

dataSource: {
   transport: {
     read: {
       url: myVar,
       dataType: "json"
     }
   }
}

另一方面,如果我直接将 url 指定为:

url: "http://myserver-name/somefile.json"

我可以看到正在显示的图表。

我无法弄清楚我做错了什么。

4

2 回答 2

0

好吧,您的解决方案对我有用,但方式不同。我从 .cs 文件中获取 url 值并将其存储在 javascript 变量中。var URL="<%=myCSvariable%>";

但仅此一项不起作用...:(我不得不将 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"
             }
         }


 });

我知道它很奇怪,但这就是它对我有用的方式..无论如何,非常感谢..:)

于 2012-12-27T08:06:57.677 回答
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 并将其设置为一个变量 ( url),然后使用结果DataSource

检查差异或在 jsfiddle 或 jsbin 中发布尽可能完整的代码。

于 2012-12-26T22:23:07.817 回答