DevExtreme数据源无法加载数据服务数据

时间:2013-10-29 14:57:13

标签: html5 wcf devexpress devextreme

我尝试完成教程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;
}

我还应该设置什么?

1 个答案:

答案 0 :(得分:0)

try-catch块无效,因为数据加载是异步的。而是订阅fail回调:

$.get(url)
    .done(doneFunc)
    .fail(failFunc);

从JavaScript访问Web服务的另一个常见问题是Same-Origin Policy。您的OData服务必须支持CORSJSONP。请参阅this discussion