从oTable.bindItems中捕获oData错误

时间:2017-04-24 08:12:28

标签: javascript sapui5 eventhandler

我有一个用JavaScript构建的表:

oTable.bindItems({
    path: oQuery,
    template: this.getFragment("<fragment>"),
    filters: aFilter
});

有没有办法在执行oModel.read时以同样的方式捕获odata调用中返回的错误,您可以指定成功和错误函数?

此引用似乎没有提到它:winstation

也许我缺少一些东西。

1 个答案:

答案 0 :(得分:1)

我们有两种方法可以检查oData失败:

  1. attachMetadataFailed。 (https://openui5.hana.ondemand.com/#docs/api/symbols/sap.ui.model.odata.ODataModel.html#attachMetadataFailed
  2. attachRequestFailed。
  3. 让我们选择一个示例(因为我确定你将拥有一个有效的oData服务)。

    服务:http://services.odata.org/Northwind/Northwind.svc/

    注意员工是上述Northwind服务中的有效实体集。

    我会尝试使用错误的 Enity集名称绑定我的表格,例如: MyEmployees

    现在,将我的表绑定到MyEmployees会抛出我们需要捕获的错误。以下是工作代码:

    查看:

    <Table items = "{/MyEmployees}">

    控制器:

            var url = "proxy/http/services.odata.org/Northwind/Northwind.svc/";
    
            var oDataModel = new sap.ui.model.odata.ODataModel(url);
    
            oDataModel.attachRequestFailed(function(e) {
                console.log('request  failed');
            });
    
            this.getView().setModel(oDataModel);
    

    继续尝试吧。如果这有帮助,请告诉我。 :)