我的页面上有一个从方法读取数据(IN Json 格式)的 KendoUI 数据源,我的脚本是:
<script id="template" type="text/x-kendo-template">
<tr>
<td>#= ID #</td>
<td>#= TITLE #</td>
<td>#= DESC #</td>
</tr>
</script>
<script>
$(document).ready(function () {
// create a template using the above definition
var template = kendo.template($("#template").html());
var datas = function() {
var objects = [];
$.ajax({
type: "POST",
url: "./WebForm1.aspx/GetNoti",
data: {},
async: false,
contentType: "application/json; charset=utf-8",
dataType: "json",
success:
function(response) {
for (var i = 0; i < response.d.length; i++) {
objects.push({ 'ID': response.d[i].ID, 'TITLE': response.d[i].TITLE, 'DESC': response.d[i].DESC });
}
},
});
return objects;
};
var dataSource = new kendo.data.DataSource({
data: datas(),
change: function () { // subscribe to the CHANGE event of the data source
$("#movies tbody").html(kendo.render(template, this.view())); // populate the table
}
});
dataSource.read();
});
</script>
我想要一个 setInterval 函数的另一个脚本,它调用一个方法,为我们提供新添加到我的数据库中的新数据并将其显示在我的 KendoUI 数据源中。
我以前试过这样:
<script>
$(document).ready(function () {
$("#go").click(function () {
setInterval(function () {
var dataSource= new kendo.data.DataSource({
data=function ()
{
$.ajax({
type: "POST",
url: "WebForm1.aspx/GetNewNoti",
data: '{}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(response) {
for (var i = 0; i < response.d.length; i++) {
dataSource.add({ 'ID': response.d[i].ID, 'TITLE': response.d[i].TITLE, 'DESC': response.d[i].DESC });
};
},
});
},
});
}, 8000);
});
});
</script>
有人可以帮助我吗?
编辑:我像这样编辑第二个脚本:
$("#go").click(function () {
setInterval(function () {test2(); }, 8000);
});
测试2:
function test2() {
var dataSource2 = new kendo.data.DataSource({
data: p(),
change: function () {
$("#movies tbody").html(kendo.render(template, this.view())); }
});
dataSource2.read();
}
我们有这样的 p() :
var p = function test() {
var objects = [];
$.ajax({
type: "POST",
url: "./WebForm1.aspx/GetUnCheckNotification",
data: {},
async: false,
contentType: "application/json; charset=utf-8",
dataType: "json"
success: function(response) {
for (var i = 0; i < response.d.length; i++) {
objects.push({ 'ID': response.d[i].ID, 'TITLE':response.d[i].TITLE, 'DESC': response.d[i].DESC });
}
},
});
return objects;
};
通过这种方法,我需要一种将 dataSource2 添加到数据源的方法(在第一个脚本中),有什么方法吗?