2017-04-19 2 views
0

Ich versuche, den angemeldeten Sap-Gateway-Benutzer zu erhalten. Der Code ist unten in meinem Controller:Get Logged Benutzer SAP Gateway - SAPUI5

onInit : function (evt) { 
var oUserData; 
var y = "/sap/bc/ui2/start_up"; 
var xmlHttp = null; 
xmlHttp = new XMLHttpRequest(); 
xmlHttp.onreadystatechange = function() { 
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { 
     oUserData = JSON.parse(xmlHttp.responseText); 
     alert(oUserData); 
    }else{alert("fail");} 
}; 
xmlHttp.open("GET", y, false); 
xmlHttp.send(null); 
    }, 

Wenn ich meine Anwendung in Eclipse ausführen es zeigt auch die Warnung „nicht bestanden“. Warum passiert dies? Mache ich es falsch?

Antwort

0

Da Sie Eclipse verwenden, glaube ich, dass Ihre Anwendung auf localhost ausgeführt wird. Dies bedeutet, dass alle relativen URLs, die Sie verwenden, relativ zu localhost sind. So wird /sap/bc/ui2/start_up in localhost konvertiert: 1234/sap/bc/ui2/start_up.

Sie müssen den absoluten Pfad zu Ihrer Ressource verwenden, damit dies funktioniert.

var y = "http://<your_gateway_system>:<port>/sap/bc/ui2/start_up"; 
+0

jQuery AJAX wäre ein besserer Ansatz hier –

+0

es lösen ist, Dank –

0

Jetzt ist es arbeitet

Unten ist mein neuer Code

onInit : function (evt) { 
     var oUserData; 
     var y = "http://<your_gateway_system>:<port>/sap/bc/ui2/start_up"; 
     var xmlHttp = null; 
     xmlHttp = new XMLHttpRequest(); 
     xmlHttp.onreadystatechange = function() { 
     if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { 
       oUserData = JSON.parse(xmlHttp.responseText); 
       alert(oUserData["fullName"]); 
      } 
     }; 
     xmlHttp.open("GET", y, false); 
     xmlHttp.send(null); 
      },