Jaggeryjs:Ajax调用GET方法

时间:2015-12-29 06:16:54

标签: wso2 jaggery-js

使用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);

1 个答案:

答案 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)