Я обрабатываю таблицу записей банковских / выписок, которые были экспортированы из другой системы через файл CSV. Они импортируются в представление и проверяются на наличие дубликатов, а затем представляются пользователю в таблице HTML для окончательного просмотра.
После проверки они отправляются через AJAX на сервер, чтобы их можно было добавить в модель Django. Все работает нормально, включая CSRF, но я не могу получить доступ к переменной POSTed, хотя я вижу это!
К сожалению, создание скрытой формы нецелесообразно, так как для обработки требуется более 80 строк.
Мой Javascript выглядит так:
$.ajax({
type: 'POST',
url: '......./ajax/handleImports/',
data: entriesObj,
success: function (data) {
if (data.response && data.response) {
console.log("Update was successful");
console.log(data.entries)
} else { ... }
},
error: function() { ... }
, где entryObj равно
var entriesObj = JSON.stringify({ "newentries": newEntries });
console.log(entriesObj)
и при выгрузке в console.log выглядит так:
{"newentries":[{"Include":"","Upload ID":"0","Date":"2019-01-09", ... }
Теперь в view.py , когда я возвращаю весь объект request.POST как data.entries, используя
context['entries'] = request.POST
return JsonResponse(context)
Я получаю
{"{"newentries":[{"Include":"","Upload ID":"0","Date":"2019-01-09", ... }
но если я попытаюсь получить новые записи с помощью:
entries = request.POST.get('newentries', None)
context['entries'] = entries
return JsonResponse(context)
console.log (data.entries) выведет ноль?
Как я могу получить доступ к POSTed записямObj?