防止或停止 AJAX 调用中的命令按钮提交通常是为了避免用户在 AJAX 请求进行时重复点击按钮,导致多次请求或不必要的操作。以下是一些常见的方法:
<button>
或 <input type="submit">
元素。在 AJAX 请求开始时禁用按钮,请求完成后重新启用按钮。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Prevent Duplicate AJAX Submission</title>
<script>
function submitForm() {
// 获取按钮元素
var submitButton = document.getElementById('submitButton');
// 禁用按钮
submitButton.disabled = true;
// 模拟 AJAX 请求
setTimeout(function() {
// 请求完成后启用按钮
submitButton.disabled = false;
alert('AJAX request completed!');
}, 2000);
}
</script>
</head>
<body>
<button id="submitButton" onclick="submitForm()">Submit</button>
</body>
</html>
服务器端可以通过检查请求的唯一标识符(如令牌)来防止重复提交。
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/submit', methods=['POST'])
def submit():
# 检查请求中的唯一标识符
token = request.form.get('token')
if token in processed_tokens:
return jsonify({'status': 'error', 'message': 'Duplicate submission'}), 400
processed_tokens.add(token)
# 处理请求
# ...
return jsonify({'status': 'success', 'message': 'Submission processed'})
if __name__ == '__main__':
app.run(debug=True)
通过上述方法,可以有效防止或停止 AJAX 调用中的命令按钮提交,提升系统的稳定性和用户体验。
领取专属 10元无门槛券
手把手带您无忧上云