【发布时间】:2021-05-27 16:12:21
【问题描述】:
在我的网页上有 2 个按钮 - A 和 B。我想捕获用户在前端单击的按钮并将其发送回服务器,以便我可以为用户生成适当的令牌。然后将用户重定向到正确的网址 - “/A”或“/B”,具体取决于他们点击的内容。
urls.py
path('buttonTest/', buttonView), # Initially testing with one url
Views.py
def buttonView(requests):
if requests.method == 'POST':
clicked_button_val = requests.POST.get('clicked_button')
# generate auth token
render(requests, 'test.html')
test.html
<form id="testform">
<button name="subject" id="A" type="submit" value="A">A</button>
<button name="subject" id="B" type="submit" value="B">B</button>
</form>
<script>
$("button").click(function() {
$.ajax({
type: "POST",
data: {
"clicked_button": $(this).val(),
},
success: function(result) {
alert('ok');
},
error: function(result) {
alert('error');
}
});
});
</script>
我能够成功地将数据从前端传递到视图。但 url 不会重定向到 /buttonTest。如果我像这样在 html 中添加重定向,
<button name="subject" id="A" type="submit" value="A" onclick="location.href='/buttonTest'">A</button>
然后views.py中的请求变成了一个GET请求并且无法访问用户点击的内容。
我想要做的是捕获用户通过 POST 请求单击的按钮,然后将用户重定向到新的 url 并将 POST 请求中捕获的数据传递到新的 url 和视图。
【问题讨论】:
标签: javascript django view