在form表單以post的方式送出時,django預設會帶一個驗證的機制csrf驗證

<form action="/day02/login/" method="post">
{% csrf_token %}
使用者名: <input type="text" name="user">
密碼 <input type="text" name="pwd">
<input type="checkbox" name="deng" value="1">10秒免登陸
<input type="submit" value="送出">
<input type="button" value="點選" id="btn">
</form>

必須把随機cookie驗證發過去,這樣django機制才能驗證成功
若是采用ajax的post方式送出則會出現403 Forbidden的驗證
解決辦法:在送出的請求頭,用cookie的變量發送,請求頭裡不能有下劃線(注意)

$.ajax({
url:'/day02/login/',
type:'POST',
data:{'user':'keke','pwd':'123'},
headers:{'X-CSRFtoken':$.cookie('csrftoken')},
suceess:function (arg) {
}

若是多個ajax一起觸發,每次都請求有點麻煩,在ajax裡有一個觸發前的機制。
$.ajaxSetup({
beforeSend:function (xhr,settings) {
xhr.setRequestHeader('X-CSRFtoken',$.cookie('csrftoken'));
}
});