HTML和JAVAScript代碼演示 表单中添加一个隐藏的token字段,每次提交表单时生成一个新的token值,以确保每次请求的token值都是唯一的。
时间: 2023-06-17 19:08:17 浏览: 112
防止表单重复提交的方法(简单的token方式)
3星 · 编辑精心推荐
HTML代码:
```html
<form id="myForm" action="" method="post">
<!-- 其他表单字段 -->
<input type="hidden" name="token" id="token" value="">
<button type="submit">提交</button>
</form>
```
JavaScript代码:
```javascript
// 生成token值的函数
function generateToken() {
return Math.random().toString(36).substr(2) + Date.now().toString(36);
}
// 获取表单元素和token字段
const myForm = document.getElementById('myForm');
const tokenField = document.getElementById('token');
// 在表单提交前生成新的token值并将其赋值给token字段
myForm.addEventListener('submit', function(event) {
event.preventDefault();
const token = generateToken();
tokenField.value = token;
// 将token值存储在本地,以便在下一次提交表单时将其与服务器端的token值进行比较
localStorage.setItem('token', token);
this.submit();
});
// 在页面加载时检查本地存储中是否有token值
window.onload = function() {
const token = localStorage.getItem('token');
if (token) {
tokenField.value = token;
}
};
```
这段代码会在表单提交前生成新的token值,并将其赋值给一个隐藏的token字段。同时,它还会将这个token值保存在本地存储中,以便在下一次提交表单时将其与服务器端的token值进行比较,以确保每次请求的token值都是唯一的。
阅读全文