<link href="/content/shared/styles/examples-offline.css" rel="stylesheet">
<link href="/styles/kendo.common.min.css" rel="stylesheet">
<link href="/styles/kendo.rtl.min.css" rel="stylesheet">
<link href="/styles/kendo.default.min.css" rel="stylesheet">
<script src="/js/jquery.min.js"></script>
<script src="/js/kendo.web.min.js"></script>
<script src="/content/shared/js/console.js"></script>
<script>
$(function () {
datasource123 = new kendo.data.DataSource({
transport: {
read: {
url:"http://localhost/KendoServices/Web/GetProductDetails",
dataType: 'jsonp'
}
}
});
});
$('#products').kendoGrid({
dataSource: datasource123
});
</script>
获得例外:
'datasource123'undefined !!
答案 0 :(得分:4)
datasource123
,但dataSource: datasource123
在此之前执行。我认为你可以将它移到文档准备就绪中并将变量作用于函数...
<script>
$(function () {
var datasource123 = new kendo.data.DataSource({
transport: {
read: {
url:"http://localhost/KendoServices/Web/GetProductDetails",
dataType: 'jsonp'
}
}
});
$('#products').kendoGrid({
dataSource: datasource123
});
});
</script>
答案 1 :(得分:1)
您的DataSource
的创建正在jQuery ready函数中完成,该函数在DOM准备好之前不会运行。您第一次使用datasource123
即刻完成。因此,在您尝试使用datasource123
之前,不会创建datasource123
。
我建议将此更改放在jQuery ready函数中并在给定范围内声明您的$(function () {
var datasource123 = new kendo.data.DataSource({
transport: {
read: {
url:"http://localhost/KendoServices/Web/GetProductDetails",
dataType: 'jsonp'
}
}
});
$('#products').kendoGrid({
dataSource: datasource123
});
});
变量,这样它就不是隐式全局变量:
{{1}}