防止二次提交
背景
业务流程中需要严格把握处理类请求调用次数,一般只要是直接发起请求的按钮/a 标签均需要防二次点击
实现方法
// API 组件源码
// 请求开始
submitBtns = submitBtns = document.querySelectorAll(
'.page-container-visible button[type="submit"], .page-container-visible .js-submit'
);
submitBtns.forEach((btn: any) => {
btn.disabled = true;
});
// 请求结束
submitBtns.forEach((btn: any) => {
btn.disabled = false;
});
- 所有 submit 类型的按钮将会自动禁止二次提交
- 所有配置了
.js-submit
类名的也将会自动禁止二次提交
开发要点
- 识别出 非 submit 类型 && 直接发起 POST/PUT/DELETE 请求 的按钮/a 标签
- 为此类按钮新增
.js-submit
类进行控制