jquery-django项目的csrf保护导致ajax请求返回403
前言
django项目默认就启动了csrf保护,这样子可以保证网站的安全,但是我们有些页面是需要使用ajax进行请求的,怎么破呢?
jquery.cookie
jquery.cookie是一个简单的、轻量级的jQuery插件读、写和删除cookie。
在页面添加脚本路径和ajax设置:
<script type="text/javascript" src="/static/js/jquery.min.js"></script>
<script type="text/javascript" src="/static/js/jquery.cookie.js"></script>
<scripts>
var csrftoken = $.cookie('csrftoken');
function csrfSafeMethod(method) {
// these HTTP methods do not require CSRF protection
return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
}
$.ajaxSetup({
beforeSend: function(xhr, settings) {
if (!csrfSafeMethod(settings.type) && !this.crossDomain) {
xhr.setRequestHeader("X-CSRFToken", csrftoken);
}
}
});
</scripts>
相关推荐
结束数据方法的参数,该如何定义?-- 集合为自定义实体类中的结合属性,有几个实体类,改变下标就行了。<input id="add" type="button" value="新增visitor&quo