functiongetCookie(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");
每一次都这么写太麻烦了,可以使用$.ajaxSetup()方法为ajax请求统一设置。
functioncsrfSafeMethod(method){// these HTTP methods do not require CSRF protectionreturn (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method);}$.ajaxSetup({beforeSend:function(xhr, settings){if (!csrfSafeMethod(settings.type) &&!this.crossDomain){xhr.setRequestHeader("X-CSRFToken", csrftoken); } }})