IE 10在SAP Netweaver上交叉原始请求

时间:2015-01-20 16:49:30

标签: cors javascript sapui5

我使用openUI5作为参考来开发我的应用程序(下载库并在我的应用程序中引用本地版本) 现在我需要在我的应用程序中引用sap.viz库,我认为sap.viz不是openUI5的一部分。

所以,我开始从远程主机中引用库,如下所示:

<script id="sap-ui-bootstrap"    
    type="text/javascript"   
    data-sap-ui-libs="sap.ui.commons,sap.ui.table,sap.ui.ux3,sap.m,sap.viz"   
    data-sap-ui-theme="sap_bluecrystal"   
    src="https://sapui5.hana.ondemand.com/resources/sap-ui-core.js">    
</script> 

我已在SAP MII上部署了我的应用程序(基于Netweaver java)。

该应用程序在IE 0中不起作用,但它在Chrome中运行良好。当我研究它时,它与CORS(交叉原始请求)有关。我尝试使用下面的代码来定义Content-security-policy以忽略它,但它没有帮助。

<meta  http-equiv="Content-Security-Policy" content="script-src 'self' https://sapui5.hana.ondemand.com"/>  
<meta  http-equiv="X-Content-Security-Policy" content="script-src 'self' https://sapui5.hana.ondemand.com"/>  

我使用http://jsbin.com/cigorepiri/1/edit

创建了示例代码

错误是我在IE10中收到的,同时还是

SCRIPT5022: failed to load 'sap/ui/thirdparty/jquery-mobile-custom.js' from https://sapui5.hana.ondemand.com/resources/sap/ui/thirdparty/jquery-mobile-custom.js: 0 - [object Error]

所以,要么我需要一个解决方案来忽略这个IE10,或者需要一种方法来下载sap.viz libary。

请建议。

由于 哈

1 个答案:

答案 0 :(得分:0)

使用下面显示的代码配置web.xml。在com.sap.ui5.proxy.REMOTE_LOCATION

下添加您的域名
    <!-- ============================================================== -->
    <!-- UI5 proxy servlet                                              -->
    <!-- ============================================================== -->

    <servlet>
        <servlet-name>SimpleProxyServlet</servlet-name>
        <servlet-class>com.sap.ui5.proxy.SimpleProxyServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>SimpleProxyServlet</servlet-name>
        <url-pattern>/proxy/*</url-pattern>
    </servlet-mapping>

    <context-param>
        <param-name>com.sap.ui5.proxy.REMOTE_LOCATION</param-name>
        <param-value>YOUR DOMAIN (INCLUDE PORT NUMBER if any) </param-value>
    </context-param>