问题遇到的现象和发生背景
在我的Django项目中使用AJAX向后台传入数据,返回错误403Forbidden。经过搜索后尝试添加csrf属性,仍然返回403错误。
用代码块功能插入代码,请勿粘贴截图
$("#submitBTN").click(function() {
let content = editor.getValue();
if(!content) return;
$.ajax({
url:'/index/',
type:'post',
data: {"content":content, "csrfmiddlewaretoken":$("[name = 'csrfmiddlewaretoken']").val()},
contentType:'text',
success: function (res){
console.log(res);
},
error:function(){
alert('failed!');
},
})
})
运行结果及报错内容
我的解答思路和尝试过的方法
考虑是Django中CSRF的问题,添加了csrfmiddlewaretoken但也没解决。
我想要达到的结果
解决错误403。
解决方法
自己解决了,把ajax中的那句contentType:'text'删掉就好了。猜测可能加上这句之后将数据转换成了文本格式,把csrf这个属性也转换成了文本格式。