使用WSO2 UES应用程序进行仪表板项目,需要使用GET方法和HEADER数据调用REST api。 ( var headers = {"授权",getSecureToken}; )
http://jaggeryjs.org/documentation.jag?api=get没有提供足够的信息
<%
var getSecureToken = session.get("wso2-token");
var headers ={"Authorization",getSecureToken};
var userListUrl = "https://00.000.00.00:09000/users/1.0.0/users/list";
var userListData = get(userListUrl,headers,"json");
log.info(userListData);
%>
任何帮助将不胜感激。 : - )
更新 GET方法功能:
function FnMakeRequestGETCall(URL, METHOD, BASICAUTH, CONTENTTYPE, ACCEPTTYPE, INPUTDATA){
var VarBasicAuthCode = session.get('wso2-token');
xhr = new XMLHttpRequest();
xhr.open(METHOD, URL);
xhr.setRequestHeader("Authorization" , VarBasicAuthCode);
xhr.setRequestHeader("Content-Type", CONTENTTYPE);
xhr.setRequestHeader("Accept", ACCEPTTYPE);
xhr.send();
var VarResponse = xhr.responseText;
return VarResponse;
}
var userListUrl = "https://99.999.99.999:9445/users/1.0.0/users/list";
var headers ={"Authorization",getSecureToken};
var usersList = FnMakeRequestGETCall(userListUrl,"GET","Basic RlN4S2RrZEpNN3VaYWhHN0NFcEtlaTZEa3RzYTpXbmUxd29seHp2UTNSQ2RZbXhUUTJ2WkJTd0Fh","application/x-www-form-urlencoded; charset=UTF-8","application/json; charset=utf-8","");
log.info(usersList);
答案 0 :(得分:0)
我认为您可以使用get()而不是创建新的XMLHttpRequest()。 我认为你的get()的问题是它是异步的。因此usrsList变量不会立即获得任何值。所以你基本上要做的是使用get()并传递一个成功函数。
一般get()用法如下。
get(url[, data][, headers][, data-type][, success(data, xhr)])
在你的情况下,get()应该如下所示。
get(userListUrl,null,headers,'text',function(usersList,xhr){
log.info(usersList);
});
如果您使用XMLHttpRequest()因为多头添加功能,您可以使用get执行相同操作。你要做的就是将它们添加到你的标题对象。
var headers ={
"Authorization":VarBasicAuthCode,
"Content-Type" : CONTENTTYPE,
"Accept" : ACCEPTTYPE
};
如果没有成功,请发短信给我。
(注意:我认为您在更新问题时添加了您的IP地址......:D)