backbone & django csrf_token的问题

由于这个加入了token的验证,因此在backbone调用Model/Collection的save时会失败,错误403。(这里不讨论劫持重发的问题)

解决方案是:修改xmlHttpRequest的header信息,方法如下:

m.save({name:‘asdfa‘},{
beforeSend:
  function(xhr,settigns)
  {
    xhr.setRequestHeader(‘X-CSRFToken‘,getCookie(‘csrftoken‘))
  }
}
)

  

即将在header里面添加一个X-CSRFToken属性,然后赋值为token即可。

django版本:1.7.2

backbone版本:1.1.2

转载请注明,本文来自Tommy.Yu的博客,谢谢!

时间: 2024-10-12 14:00:41

backbone & django csrf_token的问题的相关文章

Backbone.js入门学习笔记目录

//来自 https://www.the5fire.com/backbone-tutorials-catalogue.html 1.初识backbone.js 2.通过helloworld来认识下backbone 3.backbone中的model实例 4.backbone的collection实例 5.backbone中的Router实例 6.backbone中的view实例 7.backbone实例todos分析(一) 8.backbone实例todos分析(二)view的应用 9.back

Getting Started with Django Rest Framework and AngularJS

转载自:http://blog.kevinastone.com/getting-started-with-django-rest-framework-and-angularjs.html A ReSTful API is becoming a standard component of any modern web application. The Django Rest Framework is powerful framework for developing ReST endpoints

Django+Tastypie作后端,RequireJS+Backbone作前端的TodoMVC

一.配置好环境 接着前一篇的例子,顺带测试一下已下载下来example里面的backbone_require的例子 注意:直接本地用backbone.localStorage插件运行TodoMVC会报错,因为RequireJS工作时,加载js文件及template文件是异步加载,这就好比ajax异步请求需要涉及到跨域的问题,文件必须要在同一下域下才能被异步加载. 因此,直接把所有文件放到上篇文件的static(E:\project\tastypie\mysite\blog\static)目录下,

实践:Backbone作前端,Django+Tastypie作后端的简单Web在线聊天室

一.界面设计: 二.数据模型设计 id 每个发言都有一个独立的id由tastypie自动生成 content 发言的内容 username 发言者 date 发言时间 三.前端制作 这里没有用到Backbone的Router,因为这里不需要记录hash记录 1.Div+CSS制作静态页面,这里item-template为每一个发言的模版 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <

django系列6--Ajax04 请求设置(设置csrf_token)

Ajax请求设置csrf_token 官方文档 csrf_token: https://docs.djangoproject.com/en/1.11/ref/csrf/ CSRF** 跨站请求攻击,简单地说,是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并运行一些操作(如发邮件,发消息,甚至财产操作如转账和购买商品).由于浏览器曾经认证过,所以被访问的网站会认为是真正的用户操作而去运行.这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器

Django,Ajax提交csrf_token处理

Ajax提交数据时候,携带CSRF: a. 放置在data中携带 <form method="POST" action="/csrf1.html"> {% csrf_token %} <input id="user" type="text" name="user" /> <input type="submit" value="提交"/&g

django中csrf_token处理方式

第一:先在HTML中加入{% csrf_token %} $.ajax({ url: '{% url "ceshi:list" %}', type: 'post', dataType: 'json', cache: false, data: { key: "11111", csrfmiddlewaretoken: $('[name="csrfmiddlewaretoken"]').val() }, success: function(obj) {

爬虫day 04(通过登录去爬虫 解决django的csrf_token)

#通过登录去爬虫 #首先要有用户名和密码 import urllib.request import http.cookiejar from lxml import etree head = { 'Connection': 'Keep-Alive', 'Accept': 'text/html, application/xhtml+xml, */*', 'Accept-Language': 'en-US,en;q=0.8,zh-Hans-CN;q=0.5,zh-Hans;q=0.3', 'User-

Django之Form组件

Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 小试牛刀 1.创建Form类 from django.forms import Form from django.forms import widgets from django.forms import fields class MyForm(Form): user = fields.CharField( widget=widgets.Tex