SAP UI5 应用开发教程之二十五 - 使用代理服务器解决 SAP UI5 应用访问远端 OData 服务的跨域问题
在本教程的前一篇文章:SAP UI5 初学者教程之二十四 - 如何使用 OData 数据模型 我们试图在本地运行的 SAP UI5 应用(localhost:8080)里, 访问远端的 OData 服务 https://services.odata.org/V2/Northwind/Northwind.svc,会遇到跨域访问的相关错误:
当时步骤 24
给出的解决方案就是,使用 chrome.exe 的启动参数 --disable-web-security, 来临时禁掉其安全策略检查。
本文介绍另一种使用本地架设的代理服务器的方法,同样能达到避免该跨域错误的目的。
本文解决方案的思路如下
由于跨域访问资源的限制只存在于 Web 应用运行于浏览器中发出的请求,对于用 Node.js 开发的应用则不受该限制。
因此,我们使用 Node.js 开发一个 Web 服务器,充当代理服务器的角色,如下图郑重绿色 方块所示。当我们运行在本地 localhost 域的 SAP UI5 应用(下图最左边)发起 OData 请求时,这个请求会直接发送给代理服务器(下图图例1),后者把这个请求再发给远端的 OData 服务器(下图图例2)。远端 OData 服务器把响应发送给本地代理服务器(下图图例3),代理服务器再把该响应
SAP UI5 应用开发教程之二十五 - 使用代理服务器解决 SAP UI5 应用访问远端 OData 服务的跨域问题相关推荐
- SAP UI5 初学者教程之二十五 - 使用代理服务器解决 SAP UI5 应用访问远端 OData 服务的跨域问题试读版
一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...
- 一键部署开箱即用的代理服务器,解决 SAP UI5 应用开发过程中访问远端 OData 服务的跨域问题试读版
一套适合 SAP UI5 初学者循序渐进的学习教程 作者简介 Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今.Jerry 是 SAP 社区导师,S ...
- SAP UI5 应用开发教程之二十九 - SAP UI5 的路由和导航功能介绍试读版
一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...
- SAP UI5 应用开发教程之二十六 - OData 服务配合 Mock 服务器的使用步骤详解
从本教程 24 步骤开始,我们接触了 OData 模型.本地学习 SAP UI5 应用开发时,如果直接消费远端的 OData 服务,就会遇到跨域错误. 步骤 24 SAP UI5 初学者教程之二十四 ...
- SAP UI5 应用开发教程之二十九 - SAP UI5 的路由和导航功能介绍
本教程目前为止的二十八个步骤,我们开发的 SAP UI5 仅仅包含了一个单独的页面.本步骤我们将额外开发一个新的页面,并学习如何在这些不同的页面之间进行路由(route)和导航(navigation) ...
- SAP UI5 应用开发教程之二十八 - SAP UI5 应用的集成测试工具 OPA 介绍
本教程前一步骤,我们介绍了 SAP UI5 单元测试工具 QUnit 的使用方法.本步骤介绍测试金字塔模型中位于单元测试上层的集成测试在 SAP UI5 中的实现工具:OPA. 本步骤对应的源代码位于 ...
- SAP UI5 应用开发教程之二十 - SAP UI5 的表达式绑定用法讲解
在本教程的前一步骤 SAP UI5 初学者教程之十九 - SAP UI5 数据类型和复杂的数据绑定 里,我们已经开发了一个具有金额和货币显示的发票列表,效果如下图所示: 本步骤我们继续对这个发票列表添 ...
- SAP UI5 应用开发教程之二十四 - 如何使用 OData 数据模型
本教程之前的二十三个步骤,使用的数据模型都是 JSON 模型.从本步骤开始,我们要学习另一种非常重要的数据模型:OData 数据模型. OData 数据模型也是 SAP 产品里广泛使用的数据模型,比如 ...
- iOS 11开发教程(二十二)iOS11应用视图实现按钮的响应(2)
iOS 11开发教程(二十二)iOS11应用视图实现按钮的响应(2) 此时,当用户轻拍按钮后,一个叫tapButton()的方法就会被触发. 注意:以上这一种方式是动作声明和关联一起进行的,还有一种先 ...
最新文章
- ORB-SLAM2 论文翻译
- codefirst数据库迁移
- [JSP暑假实训] 一.MyEclipse安装及JAVA基础知识
- SpringMVC与Mybatis整合---SpringMVC学习笔记(六)
- PHP判断字符串是纯英文、纯汉字或汉英混合
- 数码摄影入门之二 准确的曝光
- mysq 没有mysql数据库_mysq 没有mysql数据库
- wifi无线设备服务器驱动,如何安装Windows 10的WiFi驱动程序
- 小白学java-JVM知识点总结
- Accumulator Proof解析
- oracle px execute reply,关于昨天的PX Deq: Execute Reply重新开贴请教
- 华三离别华为一周年:销售80亿元纳税8亿
- 单片机实例2——模拟开关灯(硬件电路图+汇编程序+C语言程序)
- IMDb Large Movie Review-数据集
- RT-Thread——STM32——FAL库
- 100t家用文件服务器,100t容量云服务器
- Flutter PDF Android 电子签章不显示问题
- Java实验报告一(完全数、一年四季、杨辉三角、path和classpath区别、next()和nextLine()区别)
- Python数据分析:手把手教你用Pandas生成可视化图表
- SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问