Javascript 从oTable.bindItems捕获oData错误

Javascript 从oTable.bindItems捕获oData错误,javascript,sapui5,eventhandler,Javascript,Sapui5,Eventhandler,我用JavaScript构建了一个表,因此: oTable.bindItems({ path: oQuery, template: this.getFragment("<fragment>"), filters: aFilter }); oTable.bindItems({ 路径:oQuery, 模板:this.getFragment(“”), 过滤器:过滤器 }); 在执行oModel.read时,是否有方法以相同的方式捕获odata调用返回的错误。您可

我用JavaScript构建了一个表,因此:

oTable.bindItems({
    path: oQuery,
    template: this.getFragment("<fragment>"),
    filters: aFilter
});
oTable.bindItems({
路径:oQuery,
模板:this.getFragment(“”),
过滤器:过滤器
});
在执行
oModel.read
时,是否有方法以相同的方式捕获odata调用返回的错误。您可以指定success和error函数

这个参考文献似乎没有提到:


也许我遗漏了什么。

我们有两种方法来检查oData故障:

  • attachMetadataFailed。()
  • 附件请求失败
  • 让我们用一个例子来讨论选项2(因为我相信您将拥有一个有效的oData服务)

    服务:

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

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

    现在,将我的表绑定到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);
    

    去试试吧。如果有帮助,请告诉我。:)

    对于odata模型的每个失败请求,都将调用
    attachRequestFailed
    的回调,而不仅仅是绑定失败的项。我也想到了这个解决方案,但我认为它似乎不可行。是的,Dopedev就是这样。但这正是我想要的。谢谢Rahul