Sapui5 为什么这个sap.ui.table.DataTable是空的?

Sapui5 为什么这个sap.ui.table.DataTable是空的?,sapui5,Sapui5,我正在尝试用新的SAPUI5开发工具包做一些事情。我找到了一些我想尝试的代码,但碰巧我的表总是空的。我试着自己去想,但我做不到。这是我的密码: var-oTable=new sap.ui.table.DataTable(); 可旋转。设置标题(“我的表格”); oTable.addColumn(新的sap.ui.table.Column({ 标签:新的sap.ui.commons.label({text:“Agency Name”}), 模板:新建sap.ui.commons.TextView(

我正在尝试用新的SAPUI5开发工具包做一些事情。我找到了一些我想尝试的代码,但碰巧我的表总是空的。我试着自己去想,但我做不到。这是我的密码:

var-oTable=new sap.ui.table.DataTable();
可旋转。设置标题(“我的表格”);
oTable.addColumn(新的sap.ui.table.Column({
标签:新的sap.ui.commons.label({text:“Agency Name”}),
模板:新建sap.ui.commons.TextView().bindProperty(“文本”、“名称”),
sortProperty:“名称”
}));
//更多专栏。。。
oTable.addColumn(新的sap.ui.table.Column({
label:new sap.ui.commons.label({text:“Currency”}),
模板:new sap.ui.commons.TextField().bindProperty(“值”、“货币”),
sortProperty:“货币”,
}));
var uri=”http://gw.esworkplace.sap.com/sap/opu/sdata/iwfnd/RMTSAMPLEFLIGHT";
变量用户=”GW@ESW";
var pw=“ESW4GW”;
var-oModel=new-sap.ui.model.odata.ODataModel(uri,false,user,pw);
setModel(oModel);
oTable.bindRows(“TravelagencyCollection”);
可旋转。放置在(“数据表”);
我在Eclipse和Web服务器上尝试了这段代码,两者都有相同的空表结果。我在chrome中找到了一个运行此命令的提示,其标志为“禁用web安全”,但仍然没有发生任何事情。我做错了什么


谢谢你的提示。如果没有标志,我会得到401代码。有了旗子,我得到了200分,但桌子还是空的


还有
新的sap.ui.commons.TextView({text:'{key}}})
,我得到一个空表。

可能有一些原因

  • 您正在发出跨域ajax请求,服务器拒绝它以解决此问题。请尝试在本地使用代理并使用tomcat服务器,或者将sapui5代码放在ABAP服务器上
  • oTable.bindRows(“TravelagencyCollection”);可能会生成错误的请求,因此请改用oTable.bindRows(“/TravelagencyCollection”)
  • 如果上述两种情况都没有引发任何错误,请尝试检查来自NW的数据是否通过google开发者工具(网络)提供给您
更换

oTable.bindRows("TravelagencyCollection");


在开发者工具打开的情况下(windows中的control-shift-i)登录chrome,并在“网络”下查看ajax调用是否失败。您不能在浏览器中执行跨域ajax调用(这就是--disable web security标志试图解决的问题,但主机可能也会拒绝它),我使用的不是
bindProperty
,而是以下
new sap.ui.commons.TextView({text:'{key}}})
。我删除了ABAP标签,因为上面的代码肯定不是ABAP。我对SAPUI5一无所知,所以尽管代码乍看起来像Javascript,但我还是会给知道他们在做什么的人添加适当的标记。@Philipp 8年后现在用[SAPUI5]替换:)投票关闭,因为这个问题中提到的大多数模块都不推荐使用。同时,有太多的问题需要纠正,使得问题过于宽泛,无法回答,也不太可能帮助未来的读者。
oTable.bindRows("*/*TravelagencyCollection");