簡體   English   中英

禁止(CSRF 令牌丟失或不正確。)

[英]Forbidden (CSRF token missing or incorrect.)

我已經搜索過類似的問題,但似乎與我的情況無關。

為什么這段代碼可以正常工作:

<form action="/signup/" method="post">
{% csrf_token %}
[FORM]
</form>

但是

<form id="signup-form">
  {% csrf_token %}
[FORM]
  </form>

<script type="text/javascript">
$(function() {
$(".submit-signup").on("click", function() {
    var user = $("#signup_form").serialize();
    console.log(user);
    $.post("/signup/", user, function() {
    });
});
});
 </script>

不工作?

這是views.py中的注冊:

@requires_csrf_token
def signup(request):
[STUFF]

return render(request, 'signup.html', {[STUFF}})

我還能提供什么幫助? 基本上,我試圖將一個頁面變成一個做同樣事情的模式。

謝謝!

您正在執行 ajax post 調用,您還需要為此提供 csrf 令牌:

$.post("/signup/", {
    user: user, 
    csrfmiddlewaretoken: '{{ csrf_token }}'
}, function() {
   // success todo
}, function(){
   // fail todo
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM