【问题标题】:DevExtreme datasource can't load Data Service dataDevExtreme 数据源无法加载数据服务数据
【发布时间】:2013-10-29 14:57:12
【问题描述】:

我尝试完成教程here,当我使用他们的数据服务时,它工作得很好。 我将源代码修改为我的数据服务(WCF 数据服务 v5.6、OData V2),列表仅显示 Loading 标志,没有任何反应。 代码应该加载任何数据类型,它只需要相应地映射。我的服务是通过浏览器提供的,我检查了。

代码如下:

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;
}

我还应该设置什么?

【问题讨论】:

    标签: html wcf devexpress devextreme


    【解决方案1】:

    try-catch 块在这种情况下无济于事,因为数据加载是异步的。相反,订阅fail 回调:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-01
      • 2010-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多