Я ломал голову над этим уже полтора часа.Итак, я отправляю форму через $ .ajax и ожидаю ответ json от django.
На внешнем интерфейсе js выглядит следующим образом
$.ajax({
"type" : "POST",
"url" : action,
"dataType" : "json",
"data" : serialized_form,
"success" : function (data) {
alert('hey')
console.log(data);
//$("#add_shipping").submit();
},
"error" : function (data) {
alert(data)
}
});
На внутреннем концеdjango возвращает объект HttpResponse, заполненный сериализованным json, примерно так ->
redirectUrl = '/user/purchase/' + str(purchase.pk) + '/'
response_data = {}
response_data['redirect'] = redirectUrl
response_data['status'] = 200
rsp = HttpResponse(simplejson.dumps(response_data))
rsp["CONTENT-TYPE"] = "application/json"
return rsp
Когда jQuery получает ответ, а не регистрирует его на консоли, как я его просил, он просто отображает отформатированный jsonв браузере в окружении предварительно тегов.Я предполагаю, что это может иметь какое-то отношение к моему заголовку Content-type, но из того, что я могу сказать, он отвечает 'application / json'.Кто-нибудь может подумать, что я могу делать не так?Спасибо!