云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

微软云_华为张晓云是哪的人_免费

小七 141 0

在本博客中,我们将看到如何执行对HANA XSJS API的跨源调用,或从不同应用程序调用我们的API的简单术语。

让我们首先了解什么是CORS:正如[link]所说,跨源资源共享(CORS)是一种机制,它使用额外的HTTP报头告诉浏览器,让运行在一个源上的web应用程序访问来自不同源的选定资源。web应用程序在请求具有不同源(域,淘客吧,由于安全原因,浏览器限制从脚本发起的跨源HTTP请求。尽管我们可以在chrome浏览器上使用关键字--disable web security来禁用CORS进行测试,物联网智能家居,对于生产性场景,如果API来自不同的来源,则需要以更严格的方式启用跨来源访问。

下面的示例准确地演示了我们如何实现对HANA XSJS API的跨来源调用。

我们开发了一个XSJS服务,平销返利,我们正在使用UI5或AngularJS中的ajax调用调用该服务前端。

一个典型的响应是:

标题显示"同源"

对于同源调用,一切正常。现在让我们尝试从不同的应用程序调用ajax调用。对于我们的测试场景,让我们考虑stackoverflow。在调用ajax调用时,我们得到CORS错误:

"Access to XMLHttpRequest at"https://xxxx.hana.ondemand.com/com/xs/xsjs/corsTest.xsjs?_=1573139856"从原点"https://stackoverflow.com'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在'access control Allow Origin'头。'

让我们在网络选项卡上检查,轻云,我们看到方法从GET改为OPTIONS:

请求头显示"cross site"和Origin为"https://stackoverflow.com"

现在要允许跨域访问我们的XSJ,我们需要在.xsaccess文件中添加以下详细信息:

要允许从特定网站访问,请在"allowOrigin"部分更改(*)和您的网站URL。"。来到我们的xsjs服务添加标题:

现在让我们再次测试,我们看到来自我们的HANA XS的响应成功检索:

让我们转到网络选项卡,企业正版软件,请求方法更改为GET:

和请求头:

我们现在可以在其他平台上成功访问我们的XSJS API。

有关更多参考信息,请查看:https://help.sap.com/viewer/400066065a1b46cf91df0ab436404ddc/2.0.02/en-US/a9fc5c220d744180850996e2f5d34d6c.html#loioa9fc5c220d744180850996e2f5d34d6cϩ部分f1✠N10001

https://answers.sap.com/questions/314212/cors-issue-with-ui5–xsjs公司-应用程序.html

使用SQLCC访问XSJS服务的匿名调用:https://blogs.sap.com/2014/07/23/anonymous-call-to-access-xsjs-service-using-sqlcc/