Cookie未远程设置,但在本地运行良好
Cookie Not Being Set Remotely But Working Fine Locally
我正在做一个简单的django应用程序,需要确保我的csrftoken设置正确,以便发布响应。
当我在本地测试并查看我的javascript调试时,一切都很好,csrf也被正确地附加了。但是,当我看到Heroku中运行的完全相同的断点时,整个getCookie函数返回一个空白。仅供参考,我使用Django Docs:中的标准getCookie函数
// using jQuery
function getCookie(name) {
var cookieValue = null;
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies[i]);
// Does this cookie string begin with the name we want?
if (cookie.substring(0, name.length + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
var csrftoken = getCookie('csrftoken');
其他jQuery和javascript在页面上正常工作,但在本例中,document.cookie完全为空。
我从很多不同的域名(herokuapp.com、domain_name等)尝试过,但都是一样的。为什么document.cookie是emtpy?里面不应该有什么东西吗?
显然,Django(出于未知原因)不喜欢提交X Header,所以我崩溃了,放了:
{% csrf_token %}
在我的模板顶部。并添加:
'csrfmiddlewaretoken': $('csrfmiddlewaretoken').val()};
到折返数据。很难看,但它起作用了。
相关文章:
- jquery设置为使用参数运行
- 在jquery函数内部设置来自jquery函数的var;t运行
- 在节点.js的多个线程中运行任务
- 如何停止一个函数并将其他函数设置为在 html5 的 javascript 中加载时运行
- 更合乎逻辑的设置超时例程
- 立即运行设置间隔
- 在运行时用JavaScript设置函数的名称
- Do JS Reference Errors停止运行时线程执行
- Cordova应用程序在安卓系统上运行,但线程似乎在ios上冻结了;“由于页面加载而重置插件”;
- 一旦设置了PHP查询字符串,如何运行jQuery脚本
- 根据选中的按钮运行不同的计算时,设置单选按钮
- Angularjs,在运行时设置价值服务的值
- Grunt为任务设置选项,并使用新值运行该任务
- JQuery val()在设置表单值时引发运行时错误
- 设置为“run_at”document_start“的 Chrome 扩展程序运行速度太快
- 是文件系统在 JavaScript 中的不同线程上运行
- 属性未在javascript类的运行时设置
- 在运行时设置content_script匹配
- 在运行时设置webpack公共路径的示例
- 如何通过javascript在运行时设置href值