我尝试完成教程here,当我使用他们的数据服务时,它运行得很好。 我将源修改为我的数据服务(WCF数据服务v5.6,OData V2),列表只显示正在加载符号,没有任何反应。 代码应该加载任何数据类型,它只需要相应地映射。我的服务是通过浏览器提供的,我查了一下。
以下是代码:
DevExTestApp.home = function (params) {
var viewModel = {
dataSource: DevExpress.data.createDataSource({
load: function (loadOptions) {
if (loadOptions.refresh) {
try {
var deferred = new $.Deferred();
$.get("http://192.168.1.101/dataservice/dataservice.svc/People")
.done(function (result) {
var mapped = $.map(result, function (data) {
return {
name: data.Name
}
});
deferred.resolve(mapped);
});
}
catch (err) {
alert(err.message);
}
return deferred;
}
}
})
};
return viewModel;
}
我还应该设置什么?
答案 0 :(得分:0)
try-catch
块无效,因为数据加载是异步的。而是订阅fail
回调:
$.get(url)
.done(doneFunc)
.fail(failFunc);
从JavaScript访问Web服务的另一个常见问题是Same-Origin Policy。您的OData服务必须支持CORS或JSONP。请参阅this discussion。