在我的node.js服务器上,我有以下代码:
//Generate a token
var token = capability.generateToken();
//Serve the page
var html = fs.readFileSync('learn.htm').toString();
response.writeHead(200, {"Content-Type": "text/html"});
response.end(html);
}
现在在客户端(在learn.htm中)我想访问令牌变量。我的问题是,如何在响应中将变量传递给客户端?必须有一个简单的方法来做到这一点,但我正在努力绕过它。
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以将一些JavaScript发送到设置变量的客户端。或者您可以将其存储在data-
属性中,例如body标记(<body data-token="...">
)然后通过$('body').data('token')
访问它,以防你在客户端有jQuery。
如果您需要表单,您还可以将其存储在隐藏的输入字段中。
答案 2 :(得分:0)
如下所示:
<input type="hidden" value="{{TOKEN}}">
在您的HTML中,然后在每次请求时将{{TOKEN}}字符串替换为令牌。
然后使用JS:
var token = $("input#csrf_token").val();
获取客户端脚本中的值。
编辑:我自己没有使用它,但是现在(http://nowjs.com/)是将服务器变量传递给客户端的更通用的方法。可能不是你想传递一个简单的令牌,但它可能是有意义的。