Django render или redirect не работает в представлении после AJAX POST
Я использую navigator.geolocation для получения обновлений о местоположении с помощью предоставленной им функции watchPosition со следующим кодом:
function updatePosition() {
if(navigator.geolocation) {
navigator.geolocation.watchPosition(calculateDistance);
}
else {
console.log("Geolocation is not supported by this browser.")
}
}
Если расстояние до новых координат, которые я получаю, меньше километра, я отправляю пост-запрос и пытаюсь отобразить другой вид. Я использую API google maps для вычисления расстояния с помощью функции computeDistanceBetween. Вот код:
function calculateDistance(position) {
var pos = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
var dis = google.maps.geometry.spherical.computeDistanceBetween(pos, mapOptions.center);
if(dis <= 1000 && dis >= 0 && rendered == false) {
var url = '/app/near_park/';
var csrftoken = getCookie('csrftoken');
$.ajax({
url: url,
type: "POST",
data: {
csrfmiddlewaretoken: csrftoken,
in_proximity : 1
},
success: function() {
rendered = true;
console.log("Success");
},
error: function(xhr, errmsg, err) {
console.log(xhr.status+": "+xhr.responseText);
}
});
}
}
Вот представление, обрабатывающее запрос на пост:
def index_close(request):
context_dict = {}
try:
current = Owner.objects.get(user=u)
context_dict['checked_in'] = current.checked_in
except:
context_dict['checked_in'] = False
print("##########")
#return redirect(reverse('dogpark:register'))
return render(request, 'dogpark/index_close.html', context=context_dict)
Когда я получаю обновление местоположения с помощью утилиты sensor в dev tools, я действительно вижу печать хэш-знаков на терминале, но перенаправление или рендеринг не работают. Проблема не в index_close.html, потому что я пробовал уже существующие и работающие html-файлы. Ни один не сработал. Проблема в этой чертовой строке render или redirect, которая не работает. Я прочитал множество сообщений и решений подобных проблем, но ни одно из них не сработало. Может ли кто-нибудь обнаружить проблему?
У меня много POST запросов и все они перенаправляются или отображают html, у меня полностью рабочее приложение. Я просто добавил эту новую функцию для динамического отображения нового UI при обновлении местоположения через AJAX Post запрос, но она не работает.