Django: невозможно получить данные, отправленные axios, в представлениях

Я пытаюсь отправить post запрос, используя axios как обычно

    axios({
      method: 'post',
      url: '/handle_login_info/',
      headers: {
        'X-CSRFToken': csrftoken,
      },
      data: {
        a: 'a',
        b: 'b'
      }
    }).then(res => console.log(res)).catch(err => console.error(err))

Вызывается функция представления, соответствующая /handle_login_info/, но в request.POST ничего нет. Если я немного изменю приведенный выше код, как показано ниже

      data: JSON.stringify({
        a: 'a',
        b: 'b'
      })

, то значение request.POST равно <QueryDict: {'{"a":"a","b":"b"}': ['']}>. Почему это происходит? Как мне нормально отправлять и получать данные axios?

Добавьте 'Content-Type': 'application/json' в заголовок.

axios({
      method: 'post',
      url: '/handle_login_info/',
      headers: {
        'X-CSRFToken': csrftoken,
        'Content-Type': 'application/json'
      },
      data: {
        a: 'a',
        b: 'b'
      }
    }).then(res => console.log(res)).catch(err => console.error(err))
Вернуться на верх