Flask应用中无法删除班级代码(Class Code)的问题排查求助
Flask应用中无法删除班级代码(Class Code)的问题排查求助
我正在开发一个Flask应用,需要通过DELETE请求从数据库中删除班级代码。前端用JavaScript触发删除操作,Flask也配置了对应的处理路由,但点击删除按钮后,班级代码并没有被删除,希望大家帮忙排查一下问题!
前端代码(JavaScript & HTML)
<!-- Example button for deleting a class code --> <button class="delete-btn" data-id="{{ class_code.id }}">Delete</button> <script> document.querySelectorAll('.delete-btn').forEach(button => { button.addEventListener('click', function() { let classCodeId = this.getAttribute('data-id'); fetch(`/delete_class_code/${classCodeId}`, { method: 'DELETE', headers: { 'Content-Type': 'application/json', // Include additional headers if needed, such as CSRF token for security } }) .then(response => response.json()) .then(data => { if (data.message === 'Class code deleted successfully!') { // Optionally remove the element from the DOM this.closest('.class-code-item').remove(); alert('Class code deleted!'); } else { alert('Failed to delete class code!'); } }) .catch(error => console.error('Error:', error)); }); }); </script>
Flask路由代码
@main.route('/delete_class_code/<int:id>', methods=['DELETE']) @login_required def delete_class_code(id): if current_user.role != 'employee': return jsonify({'message': 'Unauthorized'}), 403 try: # Assuming you have a ClassCode model and you're using SQLAlchemy class_code = ClassCode.query.get(id) if class_code: db.session.delete(class_code) db.session.commit() return jsonify({'message': 'Class code deleted successfully!'}), 200 return jsonify({'message': 'Class code not found.'}), 404 except Exception as e: db.session.rollback() # Ensure the session is rolled back if there is an error return jsonify({'message': 'An error occurred: ' + str(e)}), 500
遇到的问题
- 点击「删除」按钮后,班级代码没有被删除,前端弹出
Failed to delete class code!的提示 - 我怀疑问题可能出在Flask路由对请求的处理逻辑上,或者前端发送
DELETE请求的方式有问题
我已经尝试过的操作
- 确认前端已经正确发送了
DELETE请求 - 反复检查Flask路由的处理逻辑,看起来没有明显问题,但数据就是删不掉
- 在Flask端添加了异常捕获和事务回滚,但浏览器控制台没有输出任何错误信息
- 已经确保请求头中正确携带了CSRF令牌(安全验证用)
预期的正常结果
- 点击删除按钮后,班级代码能被成功删除,前端的班级代码列表会同步更新
- 前端能收到
Class code deleted successfully!的响应,对应的DOM元素会从页面上移除 - 弹出「Class code deleted!」的提示框
有没有大佬能帮我定位问题所在,或者给一些优化建议?非常感谢!
备注:内容来源于stack exchange,提问作者user28928600
相关产品推荐
相关产品推荐

