我正在尝试获取已记录的Sap Gateway用户。下面的代码在我的控制器中:
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);
},
当我在Eclipse中运行我的应用程序时,它还会显示警告“失败”。为什么会这样?我做错了吗?
答案 0 :(得分:0)
由于您使用的是Eclipse,我相信您的应用程序正在localhost上运行。这意味着您使用的任何相对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";
答案 1 :(得分: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);
},