javascript - 如何正确地将 django csrf_token 附加到内联 javascript 中?

标签 javascript jquery html django

我在 javascript 中动态创建了表单元素:

var selectform = document.createElement("form")

我已将其他输入元素和这些属性添加到 selectform:

   submitnselection.setAttribute('type',"submit");
   submitnselection.setAttribute('value',"Submit");
   submitnselection.setAttribute("name","submitnpage");
   selectform.setAttribute("method", "post")
   selectform.setAttribute = ("action", "/test")
   "{% csrf_token %}";

在 HTML 中,添加 {% csrf_token %} 模板标签会起作用,但在这种情况下,javascript 我得到了 403 禁止错误:

CSRF token missing or incorrect.

我找到了一些解决方案,但对我来说没有任何效果,是否有任何方法可以仅使用 Django、Javascript 和纯 Jquery 将 {% csrf_token %} 添加到表单中?另请注意,此脚本位于 html 中,因此我认为 {% csrf_token %} 模板标签将起作用。

最佳答案

这应该有效:

var inputElem = document.createElement('input');
inputElem.type = 'hidden';
inputElem.name = 'csrfmiddlewaretoken';
inputElem.value = '{{ csrf_token }}';
selectform.appendChild(inputElem);

你看,csrf_token 只不过是一个字符串,它是表单的隐藏 输入元素的。就这样!

关于javascript - 如何正确地将 django csrf_token 附加到内联 javascript 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42733761/

相关文章:

Javascript:使用 "Module Pattern"引用变量,有什么想法吗?

javascript - 单击时使用 ajax 搜索并在同一页面 laravel 中显示结果

jQuery DIV 重叠背景 DIV

javascript - 可见性问题 :hidden In jquery slidedown() function

javascript - 在 HTML/Bootstrap 中连续滚动图像

javascript - 移动视口(viewport)问题间歇性

javascript - 在 HTML/CSS/JavaScript 中创建可点击区域

javascript - 在 firebase 云函数触发器上添加异常(exception)

javascript - 实时 Javascript 事件跟踪(Javascript 统计)

javascript - jQuery 模糊事件通过动态内容编辑多次触发