Отправка данных с помощью POST-запроса не работает в Django с AJAX
Прежде всего: я знаю, что в Интернете есть несколько решений для этого, но они не работают для меня (потому что они используют, например, Jason или просто устарели)
Я работаю над проектом на Django и хочу использовать ajax для одной задачи:
Я хочу передать данные, после того как они были обработаны ajax, из моего файла шаблона в мой файл views (с помощью POST запроса), чтобы снова сделать их видимыми в моем файле шаблонов.
Templates-file --> Proccessed data --> POST-request --> views.py --> Template-file
Но это просто не работает для меня.
Мой HTML-Templates-File:
...
<script type="text/javascript">
var csrftoken = jQuery("[name=csrfmiddlewaretoken]").val();
function csrfSafeMethod(method) {
return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
}
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!csrfSafeMethod(settings.type) && !this.crossDomain) {
xhr.setRequestHeader("X-CSRFToken", csrftoken);
}
}
});
$.ajax({
url: "/save",
data: {
'value': inputDataArray //I have already defined "inputDataArray" before
},
success: function (res, status) {
alert(res);
alert(status);
},
error: function (res) {
alert(res.status);
}
});
</script>
Мой views.py файл:
def save(request):
if request.method == 'POST':
request_getdata = request.POST.get("value", None)
return render(request, "response.html", {"data":request_getdata})
urls.py файл:
urlpatterns = [
path('', views.index , name='index'),
path('save', views.save , name='save'),]
Попробовал отобразить его в "response.html"...
{{data}}
... но он просто перезагружает текущую страницу и не передает никаких данных в response.html-файл.
Кто-нибудь знает, в чем моя ошибка?
Заранее большое спасибо
Вместо
urlpatterns = [
path('', views.index , name='index'),
path('save', views.save , name='save'),]
Попробуйте :
urlpatterns = [
path('', myapp.views.index , name='index'),
path('save',myapp.views.save , name='save')