我正在Web IDE Personal Edition中编写一个简单的应用程序,该应用程序将部署在On-Premise ABAP系统上。
<mvc:View
controllerName="databinding1.controller.App"
xmlns="sap.m"
xmlns:mvc="sap.ui.core.mvc"
displayBlock="true"
>
<Button text="Submit"/>
<Input
value=""
placeholder="Full Name"
width="50%"
/>
</mvc:View>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta charset="utf-8">
<title>Data Binding1</title>
<script id="sap-ui-bootstrap"
src="https://sapui5.hana.ondemand.com/resources/sap-ui-core.js"
data-sap-ui-theme="sap_bluecrystal"
data-sap-ui-libs="sap.m"
data-sap-ui-bindingSyntax="complex"
data-sap-ui-compatVersion="edge"
data-sap-ui-preload="async"
data-sap-ui-resourceroots='{
"databinding1": "./"
}'
></script>
<script>
sap.ui.getCore().attachInit(function () {
new sap.ui.core.ComponentContainer({
"name":"databinding1"
}).placeAt("content");
});
</script>
</head>
<body class="sapUiBody" id="content"></body>
</html>
如果我从App.view.xml中删除controllerName
,则视图会成功加载。
答案 0 :(得分:2)
您尝试使用sapui5页面提供的sdk,这是对另一台不在同一系统内的服务器的请求。错误是浏览器阻止跨站点脚本编写的典型行为。 您可以使用sapui5代理资源servlet为您的sap资源解决问题(也适用于odata,但这是另一个servlet =&gt;简单代理servlet)。
您应该设置资源servlet。在您的应用程序中,您必须区分是否应该使用代理,请查看链接:
https://sapui5.hana.ondemand.com/#docs/guide/2d3f5fb63a2f4090942375df80abc39f.html
存储在sap中的sapui5 sdk的远程路径:
http://<yourdomain>/sap/public/bc/ui5_ui5/resources/sap-ui-core.js
确保在TA:SICF中激活存储库
default_host>public>bc>ui5_ui5
右键单击并按下激活
答案 1 :(得分:0)
对于那些在开发过程中实际想要处理跨源资源的人:Web IDE提供了一种代理机制,我们可以通过添加目标文件来利用它:
对于question作者:
该错误消息显示浏览器尝试加载名为 sap.ui.core.mvc.Controller.js 的文件,该文件不存在(404)。主要原因是不 same-origin policy此处。
在 App.controller.js 中,您必须使用错误的语法添加依赖项。使用斜杠(.
)作为API sap.ui.define
awaits an array of module paths(而非模块名称),而不是点(/
)。
sap.ui.define([
"sap/ui/core/mvc/Controller" // instead of "sap.ui.core.mvc.Controller"
], function(Controller) {
...
});