我有一个简单的表格:
<form method="post" id="my_form" action="/my_action">
{% csrf_token %}
<input type="hidden" id="token" name="token" value="my_token" />
<input type="submit" />
</form>
如果我点击提交按钮,一切正常,但如果我使用jQuery自动提交表单:
$(function() {
$('#my_form').submit();
});
我得到一个&#34; CSRF令牌丢失或不正确。&#34;错误。
奇怪的是,当我添加:
<input type="button" id="activate" />
和
$("#activate").on('click', function() { ... });
一切正常。单击按钮激活.submit()可以提供正确的功能,单击表单提交按钮也可以,但不会自动执行此操作。
为什么?
<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
也不起作用。