这是我的地图“$ {session.sessionDataMap}”。我想将函数生成的客户端令牌添加到此映射中。
function clientTokenGeneration() {
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "/v1.0/braintree/clienttoken", false);
xhttp.setRequestHeader("Content-type", "application/json");
xhttp.setRequestHeader('Authorization',"${session.sessionDataMap.Access_Token}");
xhttp.send();
var response = JSON.parse(xhttp.responseText);
sessionDataMap.put("clienttoken",response.token); //how can i achieve this i n gsp
}
如何在gsp中添加地图中的键值
答案 0 :(得分:0)
您可以实现所需内容的一种方法是在控制器中执行如下操作:
YourController {
//...
def ajax_setClientToken() {
session.clienttoken = params.token
}
//...
}
在.gsp文件中,在您给定的JavaScript函数clientTokenGeneration
中,您可以调用此操作:
function clientTokenGeneration() {
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "/v1.0/braintree/clienttoken", false);
xhttp.setRequestHeader("Content-type", "application/json");
xhttp.setRequestHeader('Authorization',"${session.sessionDataMap.Access_Token}");
xhttp.send();
var response = JSON.parse(xhttp.responseText);
xhttp.open("POST", "/ajax_setClientToken?token="response.token, true);
xhttp.send();
}
但是,或者,看起来您正在服务器端进行客户端令牌生成。在这种情况下,您可能最好将session.clienttoken = <new token>
添加到正在创建令牌的方法中。