无法在UI5中调用Odata服务
问题描述:
我正在为我的UI5应用程序调用Odata服务。我正在使用下面提到的代码来创建模型。无法在UI5中调用Odata服务
var oModel = new sap.ui.model.json.JSONModel("https://<>/sap/opu/odata/SIE/MED_TEST_OSIRIS_SRV/SalesOrderSet?$format=json");
//Getting the Data and putting in list model
sap.ui.getCore().setModel(oModel,"table");
使用此代码,我可以调用Odata并将结果显示在表中。
但现在当我申请过滤器是这样的:
的https:// <>/SAP/OPU /的OData/SIE/MED_TEST_OSIRIS_SRV/SalesOrderSet $过滤= Country_SP EQ 'DE'
我可以在浏览器的地址栏中的结果,但不是在这样的代码:
var sUrl = "https://<>/sap/opu/odata/SIE/MED_TEST_OSIRIS_SRV/SalesOrderSet?$filter=Country_SP eq 'DE'";
var oModel = new sap.ui.model.json.JSONModel(sUrl);
什么,我做错了什么?我可以用相同的网址:(
问候, Mayank
答
尝试使用同步调用。
var oModelData = new sap.ui.model.json.JSONModel();
oModelData.loadData(sUrl,null,false);
答
您需要对URI组件的过滤器进行编码,然后附加到基本URL
var filter = "Country_SP eq 'DE'";
var baseUrl = "https://<>/sap/opu/odata/SIE/MED_TEST_OSIRIS_SRV/SalesOrderSet";
var sUrl = baseUrl+encodeURIComponent(filter);
var oModel = new sap.ui.model.json.JSONModel(sUrl);
你看到了什么错误? –