有个需求就是当我点击a页面的按钮放行时,b页面就会跳转到指定的c页面点击拦截就让b页面跳转到指定的另一个页面
两个页面路由不一样相当于是两个项目可以前后端交互
就算不用前后端交互,也需要有一个公共状态来进行控制,在A页面添加数据记录,在管理页面修改状态,在B页面轮询状态变化。
controller里面判断
以下答案由GPT-3.5大模型与博主波罗歌共同编写:
实现页面跳转有多种方法,以下提供两种实现思路(前后端交互方式未做具体说明):
在 a 页面中,当点击按钮时,触发跳转事件,并将目标跳转页面的URL地址传递到后端:
document.getElementById('btn').addEventListener('click', function () {
var nextPageUrl = "https://www.example.com/c";
// 向后端传递目标页面的URL地址
// 如何向后端传递数据需和后端协商实现方式
// 可以使用ajax, fetch、websockets等方式
});
在 b 页面的js代码中,在页面加载时,监听从后端传回的数据(即目标跳转页面的URL),并使用window.location.href
实现页面跳转:
window.addEventListener('load', function () {
var pageUrl = ''; // 存放目标跳转页面的URL
// 监听从后端传回的数据
// 如何接收后端传来的数据需和后端协商实现方式
// 可以使用ajax、fetch、websockets等方式
// 假设数据传入到变量pageUrl中
window.location.href = pageUrl;
});
在 a 页面中,当点击按钮时,触发提交表单事件,并将目标跳转页面的URL地址作为表单的一个隐藏字段提交到后端:
<form action="/跳转到b页面的某个处理地址" method="post" id="form">
<input type="hidden" name="next-page-url" value="https://www.example.com/c">
<button type="submit">提交表单</button>
</form>
<script>
document.getElementById('btn').addEventListener('click', function () {
var form = document.getElementById('form');
form.submit();
});
</script>
在 b 页面的处理地址中,获取从前端传来的目标跳转页面的URL地址,将其作为302跳转的地址:
import flask
app = flask.Flask(__name__)
@app.route('/跳转到b页面的某个处理地址', methods=['POST'])
def redirect_to_c():
next_page_url = flask.request.form['next-page-url']
return flask.redirect(next_page_url, code=302)
以上代码为示例代码,需要根据实际情况进行修改。
如果我的回答解决了您的问题,请采纳!