Javascript 如何在“输入标记值”属性中运行函数
我有一个html页面,当客户想要转账时,我会发送给他作为响应Javascript 如何在“输入标记值”属性中运行函数,javascript,node.js,Javascript,Node.js,我有一个html页面,当客户想要转账时,我会发送给他作为响应 response.end( ` <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>Th
response.end(
`
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>The Good Server</title>
</head>
<body>
<p>Transfer money to other users with the super safe form which uses the latest HTTP GET method!</p>
<form action="/money_transfer" method="get">
<div class="container">
<label for="from"><b>Tranfer from</b></label>
<input type="text" value="good_user" name="from" required readonly>
<label for="to"><b>Transfer to</b></label>
<input type="text" placeholder="User you want to send money to" name="to" required>
<label for="sum"><b>Sum to transfer (in full Euros)</b></label>
<input type="number" placeholder="Enter a sum" name="sum" required>
<input name="csrf_token" type="hidden" value="setCSRFtoken()">
<button type="submit">Transfer money</button>
</div>
</form>
</body>
</html>
`
);
response.end(
`
好服务器
使用使用最新HTTP GET方法的超级安全表单向其他用户转账
从
转到
转账金额(欧元整)
转账
`
);
我尝试获取随机生成的令牌,并将其设置为输入标记的值,如按钮前面所示:转账。我的setCSRFtoken函数还将令牌存储到数组中
const setCSRFtoken = () => {
var result = '';
var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var charactersLength = characters.length;
for ( var i = 0; i < 10; i++ ) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
console.log(result)
csrfTokens.push(result);
return result;
const setCSRFtoken=()=>{
var结果=“”;
变量字符='ABCDEFGHIJKLMNOPQRSTUVXYZABCDFGHIJKLMNOPQRSTUVXYZ0123456789';
var charactersLength=characters.length;
对于(变量i=0;i<10;i++){
结果+=characters.charAt(Math.floor(Math.random()*charactersLength));
}
console.log(结果)
csrfTokens.push(结果);
返回结果;
从setCSRFtoken函数返回的值必须放入输入的(name=crsf_token)值中
问题是,目前我无法让函数在页面中运行并返回随机生成的值。我还考虑将该值作为参数添加到页面中,但不知道如何将其添加到响应中
<input name="csrf_token" type="hidden" onload="this.value=setCSRF()">
将上面的代码视为一种修复方法,但它对我不起作用使用字符串插值:
请注意,任何有效的表达式都可以插值,而不仅仅是变量名。我不知道它被称为插值,所以我没有找到帖子,而是