我正在尝试使用JavaScript的fetch库向我的Django应用程序提交表单。然而,无论我做什么,它仍然抱怨CSRF验证。
Ajax文档中提到了指定一个头文件,我已经尝试过了。
我还尝试从模板标记中抓取令牌并将其添加到表单数据中。
两种方法都似乎不起作用。
以下是包含表单值和标题的基本代码:
let data = new FormData();
data.append('file', file);;
data.append('fileName', file.name);
// add form input from hidden input elsewhere on the page
data.append('csrfmiddlewaretoken', $('#csrf-helper input[name="csrfmiddlewaretoken"]').attr('value'));
let headers = new Headers();
// add header from cookie
const csrftoken = Cookies.get('csrftoken');
headers.append('X-CSRFToken', csrftoken);
fetch("/upload/", {
method: 'POST',
body: data,
headers: headers,
})
我能够使用JQuery实现这个,但想尝试使用fetch
。