我正在尝试从服务器获取数据:
$this.oModel = new sap.ui.model.odata.v2.ODataModel("https://myserver.com/sap/opu/odata/sap/zumu_contact_person_srv",{
user: 'TEST',
password: '12345678',
headers: {
"Accept": "application/json",
"Accept-Language": "ru-RU",
"DataServiceVersion": "2.0",
"MaxDataServiceVersion": "2.0",
"X-CSRF-Token": "Fetch"
}
});
$this.getView().setModel($this.oModel, "ContactPerson");
console.log($this.oModel);
在视图中我有表:
<Table id="Listing" class="tableList" mode="MultiSelect" items="{path: 'ContactPerson>/contactsList'}">
<columns>
<Column id="vendorNum" minScreenWidth="Tablet" >
<Text text="{i18n>vendorNum}"/>
</Column>
<Column id="recipientType" minScreenWidth="Tablet" >
<Text text="{i18n>recipientType}"/>
</Column>
<Column id="supplierName" minScreenWidth="Tablet" >
<Text text="{i18n>supplierName}"/>
</Column>
</columns>
<items>
<ColumnListItem>
<cells>
<Input value="{ContactPerson>Parnr}" editable="false" />
</cells>
<cells>
<Input value="{ContactPerson>Ebonu}" editable="false" />
</cells>
<cells>
<Input value="{ContactPerson>NameFirst}" editable="false" />
</cells>
</ColumnListItem>
</items>
</Table>
为什么数据不附带服务器?对象$this.oModel.oData
- 为空。可能是什么问题呢?或者我做错了什么?
答案 0 :(得分:0)
1)您收到的错误表明问题出在您的用户ID和密码上。只需在您的谷歌浏览器应用程序中使用您的标题从DHC传递此请求,您应该从服务器收到相同的错误,这意味着userId和密码存在问题。
2)由于这只是一个获取请求,因此您不需要CSRF令牌验证。因此删除线,
“X-CSRF-Token”:“获取”
来自你的标题。
“X-CSRF-Token”:“Fetch”应该用于从您的服务器获取CSRF令牌,并且您从服务器收到的令牌应该在POST或PUT请求中传递回服务器。
尝试以上两种方法,它应该可行。