Я использую Ajax для отправки данных POST для просмотра Django, но у меня есть эта ошибка: 403 FORBIDDEN.403 FORBIDDEN использовать ajax для отправки сообщения DJANGO
На самом деле, я использую @csrf_exempt но я напуган, не лучшая идея ...
Мое мнение:
@csrf_exempt
def myfic(request):
if request.method == "POST" :
competences = request.POST.get('theCompetences')
print("competences : ",competences)
...
Мой код JS:
function envoie_post_competences(){
$.post("http://localhost:8000/myfic",{theCompetences:"aaaaaaa",});
return false;
}
Что лучшее решение?
Благодарим за помощь!
Так что я должен добавить этот код:
var csrftoken = $.cookie('csrftoken');
function csrfSafeMethod(method) {
return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
}
$.ajaxSetup({
beforeSend: function(xhr, settings) {
if (!csrfSafeMethod(settings.type) && !this.crossDomain) {
xhr.setRequestHeader("X-CSRFToken", csrftoken);
}
}
});
и моя функция JS не изменилась?
function envoie_post_competences(){
$.post("http://localhost:8000/myfic",{theCompetences:"aaaaaaa",});
return false;
}
Если да, то когда я нажимаю на кнопку отправки, ничего не происходит ..
Так что juste Я добавляю код в документацию в свой код js? – YassVegas
Это должно сработать. Если это не так, используйте отладчик, например FireBug, чтобы узнать, что на самом деле происходит во время запроса AJAX. – Filly