Нет ответа после отправки данных json из браузера в представление Django с помощью ajax POST - PullRequest
0 голосов
/ 04 апреля 2019

Я использую handsontable для имитации электронной таблицы в моем веб-приложении. Я хочу отправить данные json, которые пользователь вводит в электронную таблицу, в мою базу данных.

Кнопка HTML:

<button id="send_post" class="btn size-medium bg-green text-white shadow hover-moveup">Send Post Request</button>

Js:

document.getElementById("send_post").addEventListener("click", function(event) {
    $.ajax({
      url: 'http://127.0.0.1:8000/',
      headers: { "X-CSRFToken": csrf_token },
      type: "POST",
      dataType: "json",
      data: JSON.stringify(hot.getSourceData()),
      statusCode: {
        200: function (your_Response_Data) {
            console.log(JSON.stringify(hot.getSourceData()))
        },
        // ... handle errors if required
        404: function () {
        }
      },
      complete: function (jqXHR, textStatus) {
      }
    });


  })

views.py

@login_required(login_url='/login/')
def index(request):
    user_id = request.user
    if request.is_ajax():

        if request.method == "POST":
            received_json_data = json.loads(request.body)

            return HttpResponse(received_json_data, content_type="application/json")

Терминал:

[04/Apr/2019 01:19:23] "POST / HTTP/1.1" 302 0

Я получаю данные в моем представлении, но Httpresponse не возвращает данные обратно в браузер.

1 Ответ

0 голосов
/ 04 апреля 2019

Решил, установив location.href после успешного запроса POST

statusCode: {
        200: function (your_Response_Data) {
            console.log(JSON.stringify(hot.getSourceData()));
            location.href = "/";
        },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...