То, что вы получаете при использовании window.location.href = "127.0.0.1:8000/calc" - это нормально. Вы просто перенаправляете на ту же страницу без параметров URL-запроса.
Итак, вы в основном хотите перенаправить на ту же страницу?
Почему тогда вы хотите перенаправить? Это не имеет большого смысла для меня. И снова, если вы хотите перенаправить, не используйте AJAX и следуйте «обычному» подходу при отправке форм.
Так что, на мой взгляд, имеет смысл не перенаправлять, а использовать данные, которые вы получаете из запроса AJAX, и отображать информацию. Вы все еще можете использовать некоторую соблазнительность Django и вернуть какой-то отрендеренный HTML, который вы затем добавите динамически с некоторым кодом Javascript.
Это может быть что-то вроде этого:
Javascript
$.ajax({
url: 'link/',
data : {
'foo': foo,
'foo1': foo1,
},
success: function (data) {
$('#result-container').html(data) // add the data in the div container
$("#your-form").trigger('reset'); //you should reset your form
}
});
Основной HTML в "/" должен содержать
<div id="result-container"></div>
И вам нужно просто избавиться от просмотра ссылок и сделать так, чтобы другие как-то так
def calc(request):
if request.is_ajax:
matrix = request.GET.getlist('foo1[]')
context = {'data': matrix}
return render(request, 'calc.html', context)
Но я говорю вам снова, вы должны использовать формы Django для того, что вы делаете. См. этот учебник , например.
Надеюсь, это поможет.