调用OData服务的GET方法不起作用

2020-08-20 03:07发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


消息:"无法在'XMLHttpRequest'上执行'发送':无法加载'http://<主机名>:<端口号>/sap/opu/odata/sap/Z_DEMO_CRUD_SRV/$ metadata'

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


消息:"无法在'XMLHttpRequest'上执行'发送':无法加载'http://<主机名>:<端口号>/sap/opu/odata/sap/Z_DEMO_CRUD_SRV/$ metadata'

付费偷看设置
发送
5条回答
木偶小白
1楼 · 2020-08-20 03:55.采纳回答
 Main.Controller.js文件内容:
 sap.ui.define([
 " sap/ui/core/mvc/Controller"
 ],函数(控制器){
      "使用严格";
       return Controller.extend(" com.cd.CRUD_DEMO.controller.Main1",{
       onInit:函数(){
           //创建oData服务的模型实例
           //var oModel = new sap.ui.model.odata.v2.ODataModel(" http://<主机名>:<端口号>/sap/opu/odata/sap/Z_DEMO_CRUD_SRV");
           //sap.ui.getCore().setModel(oModel," myModel");
            var sServiceUrl =" http://<主机名>:<端口号>/sap/opu/odata/sap/Z_DEMO_CRUD_SRV";
            var oModel = new sap.ui.model.odata.ODataModel(sServiceUrl,true);
            var oJsonModel = new sap.ui.model.json.JSONModel();
            oModel.read("/img/ETPODATASet?",null,null,true,函数(OData,响应){
               oJsonModel.setData(OData);
            });
            sap.ui.getCore()。setModel(oJsonModel);
       },
 oDataCallCreate:函数(oEvent){
 调试器;
 var obj = {};
 obj.pname = this.getView()。byId(" pname")。getValue();
 obj.pdesc = this.getView()。byId(" pdesc")。getValue();
 obj.pquan = this.getView()。byId(" pquan")。getValue();
 obj.pcat = this.getView()。byId(" pcat")。getValue();
 OData.request({
 requestUri:" http://<主机名>:<端口号>/sap/opu/odata/sap/Z_DEMO_CRUD_SRV/ETPODATASet",
 方法:" GET",
 标头:{
 " X-Requested-With":" XMLHttpRequest",
 " Content-Type":" application/atom + xml",
 " DataServiceVersion":" 2.0",
 " X-CSRF-Token":"获取"
 }
 },
 功能(数据,响应){
 header_xcsrf_token = response.headers ['x-csrf-token'];
 var oHeaders = {
 " x-csrf-token":header_xcsrf_token,
 'Accept':'application/json',
 };
 OData.request({
 requestUri:" http://<主机名>:<端口号>/sap/opu/odata/sap/Z_DEMO_CRUD_SRV/ETPODATASet",
 方法:" POST",
 标头:oHeader,
 数据:oEntry
 },
 功能(数据,请求){
 alert("产品详细信息已成功添加。");
 },
 函数(err){
 alert("产品详细信息创建失败。");
 });
 },
 函数(err){
 var request = err.request;
 var response = err.response;
 alert("获取错误-请求" +请求+"响应" +响应+"错误" +错误);
 });
 },
 oDataCall:函数(oEvent){
 var myModel = sap.ui.getCore()。getModel(" myModel");
 myModel.setHeaders({
 " X-Requested-With":" X"
 });
//根据单击的按钮调用oData服务的功能。
 调试器;
 如果(oEvent.oSource.mProperties.text =='创建'){
 var obj = {};
 obj.pname = this.getView()。byId(" pname")。getValue();
 obj.pdesc = this.getView()。byId(" pdesc")。getValue();
 obj.pquan = this.getView()。byId(" pquan")。getValue();
 obj.pcat = this.getView()。byId(" pcat")。getValue();
 myModel.create('/ETPODATASet',obj,{
 成功:函数(oData,oResponse){
 调试器;
 alert('记录创建成功...');
 },
 错误:功能(错误,响应){
 调试器;
 alert('创建记录时出错-'.concat(err.response.statusText)));
 }
 });
 }否则,如果(oEvent.oSource.mProperties.text =='Read'){
 }
 }
 });
 });
 
SC_Yao
2楼-- · 2020-08-20 03:38

我格式化了。

谢谢。

槿木_熙
3楼-- · 2020-08-20 03:54

为什么不在清单中定义OData服务模型,如 UI5文档演练

clasier
4楼-- · 2020-08-20 03:36

使用缩进使其更具可读性。

Bunny_CDM
5楼-- · 2020-08-20 03:51

意图也完成了。

希望这段代码可读。

一周热门 更多>