django前端ajax提交数据被拒绝

方案一:

在form标签中加入标签{% csrf_token %}

ajax提交数据增加csrftoken信息

var data={
‘obj1’:$(‘#obj1’).val(),
‘obj2’:$(‘#obj2’).val(),
‘csrfmiddlewaretoken’:$(‘input[name=”csrfmiddlewaretoken”]’).val()
}

$.ajax({
URL:”,
type:’POST’,
data:data,
success:function(res){
console.log(res);
}
})

方案二:

在form标签中加入标签{% csrf_token %}

ajax headers中csrftoken信息

var data={
‘obj1’:$(‘#obj1’).val(),
‘obj2’:$(‘#obj2′).val(),
}

$.ajax({
URL:”,
type:’POST’,
data:data,
headers:{“X_CSRFToken”:$(‘input[name=”csrfmiddlewaretoken”]’).val(),
success:function(res){
console.log(res);
}
})

另外:
{% csrf_token %}可以用jquery.cookie.js代替,在页面引入jquery.min.js与jquery.cookie.js,$(‘input[name=”csrfmiddlewaretoken”]’).val()替换为
$.cookie(‘csrftoken’)