1

即使我在 HTML 模板中包含 csrf 令牌,我在使用 JQuery 表单验证和 Django 内部模式时也遇到了以下问题。如果我提交表单而不使用 JQuery 验证它就可以了。

Forbidden (403)
CSRF verification failed. Request aborted.

在服务器端,我使用 Django 表单验证,没什么特别的。

先感谢您 :)

这是我的代码:

html

<form class="form-inline" id="add-subtitle-modal" action="/add_subtitle/" role="form" method="post" enctype="multipart/form-data">
    {% csrf_token %}

<div class="form-group">
      {{object.description}}
</div>

...

<button class="btn btn-danger" type="submit">save</button>

js

$('#add-subtitle-modal').validate({
        rules: {
...
}

etc

        submitHandler: function(form) {
            var $form = $(form);
            var $inputs = $form.find("input, select, button, textarea");
            $inputs.prop("disabled", true);

            //let the backend to manage submiting

            $form.submit();
        }
4

1 回答 1

1

这是我的错误。当我在提交前将输入设置为无效时,csrf 也被设置为禁用。因此,我认为它没有提交到服务器。我认为这是问题所在,因为在我修改了要禁用的字段后它才起作用。

于 2013-11-09T18:48:47.267 回答