如何处理使用 SAP UI5 消费真实的 OData 服务时遇到的跨域问题
我本地开发了一个 SAP UI5 应用,消费真实的 OData 服务:
https://services.odata.org/Northwind/Northwind.svc
会遇到跨域问题错误:CORS error
Access to XMLHttpRequest at ‘https://services.odata.org/Northwind/Northwind.svc/$metadata?sap-language=EN’ from origin ‘http://localhost:3002’ has been blocked by CORS policy: Response to preflight request doesn’t pass access control check: It does not have HTTP ok status.
因为 https://services.odata.org/Northwind/Northwind.svc 这个 OData 服务不是我们自行实现的,我们无法更改其实现端,添加 CORS policy 相关的协议字段,因此只能想其他办法。
出于开发目的,我们可以暂时禁掉 Chrome 的安全检查,来绕过这个错误。
新建一个批处理文件,输入下列内容:
cd C:\Program Files (x86)\Google\Chrome\Application
chrome.exe --user-data-dir="C:/temp" --disable-web-security
此时启动的 Chrome,会显示一行警告信息:
You are using an unsupported command-line flag: --disable-web-security. Stability and security will suffer.
此时请求 OData 元数据,不再有跨域错误了:
根据Kitten编程猫社区的这个帖子:
https://shequ.codemao.cn/community/367019
-
产生的不是可执行文件或者源码,产生的是配置文件,告诉执行文件的框架该怎么做的配置文件。
-
必须依赖编程猫软件,可以在网上下载编程猫格式工厂来把bcm文件转为exe文件。
-
不能直接转换成安卓的apk文件。
可以参照这个帖子:
https://shequ.codemao.cn/community/167969
但可以通过 Kitten 格式工厂这个软件,将 bcm 转换成 Windows10 平台下可以直接执行的exe文件:
选择 bcm文件后,点击 一键转换即可:
转换成功之后的 .exe文件:
可以执行双击,在windows平台上运行应用了:
- 点赞
- 收藏
- 关注作者
评论(0)