2013-11-27 26 views
0

我有问题,我创建的数据源没有得到任何数据。如果我手动访问网址,显然是在那里。我找不到我出错的地方。帮助表示赞赏。我创建了一个JSbin来说明问题。 http://jsbin.com/unEPAwAn/4/edit 守则:KendoUI Datasource不会传输数据到ListView

var eventsViewModel = new kendo.data.DataSource({ 
transport:{ 
read: { 
url:"https://myurl/incidents", 
     datatype: "jsonp" 
    } 
}, 
schema:{ 
data:function(response){ 
console.log(response); 
return response;} 
}, 
sort:{field: "id", dir: "desc"} 
}); 

var events = eventsViewModel.fetch(function(){ 
var data = this.data(); 
console.log(data.length); 
console.log(data[0]); 
}); 

$("#eventsList").kendoListView({ 
dataSource: eventsViewModel, 
template: kendo.template($("#eventsTemplate").html()) 
}); 

回答

0

有几个问题:

  1. ,你是从URL接收该文件是一个JSON而不是JSONP。
  2. 如果您将数据类型更改为JSON(而不是JSONP),则JSBin无法工作,因为您从不同域中提取数据,这是因为跨源资源共享策略而不允许的。

因此,无论您的服务器是否提供JSONP文档,还是将dataType更改为JSON,并使用与HTML文档相同的URL来提供文档。

+0

好的,非常感谢,这让事情变得更加清晰。虽然我不知道自从我开发移动应用程序以来,我在哪里了解我所从事的领域(除了JSbin)。 – amaik