如何处理使用 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\Applicationchrome.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 元数据,不再有跨域错误了:

(0)

相关推荐