gpt4 book ai didi

jquery - Django 1.9.2 + jQuery + POST - 错误 403 - CSRF token 丢失或不正确

转载 作者:行者123 更新时间:2023-11-30 22:58:50 27 4
gpt4 key购买 nike

我是 django 的新手,我试图通过单击网页上的按钮来从views.py 中触发简单的功能。这就是我所做的:

HTML:

<form method="post">{% csrf_token %}
<button type="submit" class="btn btn-circle btn-primary btn-xl" id="add_address_button"><i class="fa fa-check"></i></button>
</form>

$('#add_address_button').click( function() {
$.post("adres/add_address_button_action/", function () {
alert('OK');
});
});

url.py

url(r'^adres/add_address_button_action/$',views.add_address_button_action, name = 'add_address_button_action'),

View .py

def add_address_button_action(request):    
adres = get_object_or_404(Adres, id =2)
return render(request, 'serwis/address_detail.html', RequestContext(request, {'address_detail_zmienna': adres}))

来自终端的信息:

Forbidden (CSRF token missing or incorrect.): /adres/add_address_button_action/ 
...
"POST /adres/add_address_button_action/ HTTP/1.1" 403 2274

我在views.py中尝试不同的返回:

return render_to_response('serwis/address_detail.html', RequestContext(request, {'address_detail_zmienna': adres}))
return redirect('serwis/address_detail.html', {'address_detail_zmienna': adres})

但是它们都不起作用。

如果有人能帮我解决这个问题,我将不胜感激。我已经阅读了很多有关此问题的主题,但其中大多数都已经过时 - 并且没有帮助。

亲切的问候

最佳答案

您似乎没有将 CSRF token 传递到服务器。查看the docs

您需要预先配置 jQuery 以在发出的每个 AJAX 请求的 header 中传递 csrf token ,或者需要将 CSRF token 作为数据显式传递给 $.post() 函数。

详细代码可在上面的链接文档中找到。

关于jquery - Django 1.9.2 + jQuery + POST - 错误 403 - CSRF token 丢失或不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36021488/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com