点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
我正在使用HCP Portal SAPUI5应用程序。 在对后端进行每次数据调用之前,我需要检查会话,以便可以将用户重定向回登录页面。
在HANA Cloud文档中,提供了以下代码:
jQuery(document).ajaxComplete(function(e,jqXHR){ 如果(jqXHR.getResponseHeader(" com.sap.cloud.security.login")){ alert("会话已过期,应重新加载页面。"); jQuery.sap.delayedCall(0,this,function(){ location.reload(true); }); } });
上面的代码是否仅适用于Ajax和oData调用。 会话期满后,我们希望在每种情况下都将用户重定向到登录页面。
对于oData调用和Ajax调用都有直接的方法来实现吗?
你好迪帕克,
检查 sap.ui.model.odata.ODataModel 或 sap.ui.model.odata.v2.ODataModel 或更高版本(如果您已在使用)。
无论如何,您都会看到事件列表,可以向其中添加事件处理程序。 一种尝试可以是requestFailed,可以这样添加:
定义处理程序,例如:
感谢Boaz,
您能否帮助我实现oData调用的相同功能。 我尝试使用下面的代码,但是即使使会话无效,该代码也不会达到oMetadata Failed。
它永远不会进入attachMetadataFailed事件,并且在MetadataLoaded事件内部,我无法在标题中找到参数" com.sap.cloud.security.login"。
我测试会话超时的方法如下:
我应该使用其他方法吗?
最好的问候
Deepak
嗨Deepak,
实际上,您提到的代码在 https://help.hana.ondemand.com/help/frameset.htm?de16793b391a4bcfae6096f34433de76.html 与Ajax调用有关。 但是,它不处理oData调用,您可以为每个此类调用分别处理oData调用,以便重定向回登录页面。 我不知道有任何直接方法可以实现这两个调用。
最好的问候,
Boaz
一周热门 更多>