Sapui5 在进行oData呼叫之前检查会话-HANA云门户

Sapui5 在进行oData呼叫之前检查会话-HANA云门户,sapui5,sap-cloud-platform,Sapui5,Sap Cloud Platform,我正在使用HCP门户SAPUI5应用程序。在对后端进行每次数据调用之前,我需要检查会话,以便将用户重定向回登录页面 HANA云文档中提供了以下代码: jQuery(document).ajaxComplete(函数(e,jqXHR){ if(jqXHR.getResponseHeader(“com.sap.cloud.security.login”)){ 警报(“会话已过期,应重新加载页面”); jQuery.sap.delayedCall(0,this,function(){ 位置。重新加载

我正在使用HCP门户SAPUI5应用程序。在对后端进行每次数据调用之前,我需要检查会话,以便将用户重定向回登录页面

HANA云文档中提供了以下代码:

jQuery(document).ajaxComplete(函数(e,jqXHR){
if(jqXHR.getResponseHeader(“com.sap.cloud.security.login”)){
警报(“会话已过期,应重新加载页面”);
jQuery.sap.delayedCall(0,this,function(){
位置。重新加载(true);
});
}
});您可以在成功回调函数中检查HTTP响应头的值
“com.sap.cloud.security.login”

如果您见过超时调用成功回调函数的情况;但我也看到过调用错误回调函数的情况;因此,我在这两种情况下都检查超时

超时处理可能是一个对话框,告诉用户会话已超时,并询问用户是否要重新启动应用程序

  sap.ui.getCore().getModel().read("/SOME_ENTITYSet", {

     success: function(odata, response) {
       if (response.headers["com.sap.cloud.security.login"] === "login-request") {
          // Timeout handling
       } else {  
          // Process data in argument odata  
       }
     },

     error: function(error) {
       if (response.headers["com.sap.cloud.security.login"] === "login-request") {
          // Timeout handling
       } else {  
          // Show error message (for non-timeout errors)
       }         
     }
  });