Мой jquery выглядит примерно так:
$.ajax({
url:"/process_values/",
type: "POST",
data: {values:['1','2']},
success:function(response){
alert("success: " + response);
},
error:function (xhr, textStatus, thrownError){
alert("xhr status: " + xhr.statusText);
},
});
Мое представление django выглядит следующим образом:
@csrf_protect
def process_values(request):
# do stuff
print 'complete'
return HttpResponse("success", mimetype="application/html")
Представление выполняется правильно, но обратный вызов ошибки всегда вызывается, когдаэто завершается.Есть идеи, почему это так?
ОБНОВЛЕНИЕ: Для тех, кто предлагает проблему CSRF.Нет, я использую стандартный javascript для установки этого cookie и вижу токен в своем запросе на стороне django.
UPDATE2: Я только что понял, что в моей функции есть что-то еще, чтовызывает этот вызов ajax, который меняет поведение.У меня есть перенаправление, которое я написал, используя:
document.location.href="/main/";
Когда я закомментирую эту строку, вызывается обратный вызов успеха.Вау, не думал, что это сделает разницу.Кто-нибудь знает, почему это вызвало сбой?Переместите этот вопрос в здесь , поскольку это другой вопрос.Закрытие этого вопроса.