我一直试图解决这个问题几天但没有任何成功。 我有一个滚动视图集,其中包含从服务器获取的数据源。
首先,在jQuery that._pristineData = data.slice(0);
中的以下行中成功请求后,它一直崩溃,因为data
是一个对象,而不是一个数组。
经过一番搜索后,我找到了一个答案,表示在方括号中返回架构的响应,所以它基本上是一个数组。
这确实解决了这个问题,但现在它正在其他地方崩溃,所以也许这不是解决问题的正确方法。
我现在收到以下错误:VM上的Uncaught TypeError: undefined has no properties
并查看导致错误的代码给我这个:
(function(data
/**/) {
var o,e=kendo.htmlEncode;with(data){o='<div><p>Title: '+e( data.title )+'</p><p>Street: '+e( data.street )+'</p></div>';}return o;
})
我的模板有问题吗? 是否可以将响应作为数组返回导致此问题? 我该如何解决这个问题?
scrollview
<div>
<kendo-mobile-scroll-view id="scroll" k-data-source="data" k-template="template" >
</kendo-mobile-scroll-view>
</div>
datasource
$scope.data = new kendo.data.DataSource({
transport: {
read: {
url: $scope.link,
dataType: "json"
}
},
schema: {
data: function(data) {
return [data];
}
}
});
template
$scope.template = "<div><p>Title: #: data.title #</p><p>Street: #: data.street #</p></div>";
答案 0 :(得分:3)
肯定是错误的回应。我尝试了类似于你的例子,一切正常。看一下demo Demo。
来自服务器的响应必须如下:
[{"title":"title1","street":"street1"},{"title":"title2","street":"street2"}]