我在 jQuery 函数中有我的 Ajax:
btnApplyConfig.js:
$(".btnApplyConfig").click(function(){
var token = $("input[name=csrfmiddlewaretoken]").val();
// Some other vars I'm sending properly
console.log('token: '+token); //printing correctly
$("#"+frm).submit(function(e){
e.preventDefault();
console.log('Post method via ajax');
$.ajax({
url: '/ajax/validate_config',
type: 'POST',
data: {
'token': token,
//and other stuff I'm sending properly
},
dataType: 'json',
});
});
});
我的 Django 视图:
def validate_config(request):
token = request.GET.get('token', None)
#some other vars I've sent ok with ajax
data = {
#some vars
'token': token,
}
if request.method == 'POST':
item = MyClass.objects.filter(my_keyword=my_filter_values).update(my_ajax_values)
return JsonResponse(data)
所有数据都被正确处理,对我来说唯一的问题是我收到以下错误:
Forbidden (CSRF token missing or incorrect.): /ajax/validate_config/
为了检查 vars 是否正确发送,我已经放置了一些打印件,是的。我怎么能处理它?我检查了一些教程,但到目前为止我找不到解决方案。