2015-12-29 47 views
0

在面向儀表板項目的WSO2 UES應用程序中,需要使用GET方法和HEADER數據調用REST API。 (VAR頭= { 「授權」,getSecureToken};Jaggeryjs:Ajax調用GET方法

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

我想你可以使用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)