0

我正在尝试获取已登录的 Sap Gateway 用户。下面的代码在我的控制器中:

onInit: function (evt) {
  var oUserData;
  var y = "/sap/bc/ui2/start_up";
  var 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);
},

当我在 Eclipse 中运行我的应用程序时,它还会显示警报“失败”。为什么会这样?我做错了吗?

4

2 回答 2

0

现在它正在工作

下面是我的新代码

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);
            },
于 2017-04-20T11:31:13.970 回答
0

由于您使用的是 Eclipse,我相信您的应用程序正在本地主机上运行。这意味着您使用的任何相对 URL 都将相对于 localhost。所以/sap/bc/ui2/start_up将被转换为localhost:1234/sap/bc/ui2/start_up

您必须使用资源的绝对路径才能使其正常工作。

var y = "http://<your_gateway_system>:<port>/sap/bc/ui2/start_up";
于 2017-04-20T04:56:58.913 回答