У меня есть два разных запроса AJAX, которые я хочу объединить.Как передать HttpResponse и дополнительные данные через Ajax в Django
Первый получает некоторый HTML:
def ajax_get_html(request):
if request.is_ajax() and request.method == "POST":
context = {
...
}
return render(request,"my_app/my_template.html", context)
else:
raise Http404
И используется так:
$.ajax({
type: "POST",
url: ajax_url,
data: {
csrfmiddlewaretoken: "{{ csrf_token }}",
},
success: function(data){
$(my_div).html(data);
}
});
Мой второй один получает некоторые данные:
def ajax_get_data(request):
if request.is_ajax() and request.method == "POST":
data = {
"answer": 42,
}
json_data = json.dumps(data)
return HttpResponse(json_data, content_type='application/json')
else:
raise Http404
и используется, как это :
$.ajax({
type: "POST",
url: another_ajax_url,
data: {
csrfmiddlewaretoken: "{{ csrf_token }}",
},
success: function(data){
var answer = data.answer;
$("#notification_badge").html(answer);
}
});
Как объединить эти данные в один и тот же запрос? Я попытался добавить результат render
к данным во втором представлении, но json.dumps говорит, что он не сериализуем.
Посмотрите по этому поводу -> https://docs.djangoproject.com/es/1.9/ref/request-response/# jsonresponse-objects – Gocht
Я прочитал это, но я слишком много нуб, чтобы понять это ... – 43Tesseracts