React, Axios и Flask - AttributeError: объект 'NoneType' не имеет атрибута 'get' - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь отправить некоторые данные из моего react компонента через axios на мой Flask сервер, например:

handleSubmitSeeds(event) {
    event.preventDefault();
    const {userId} = this.props
    const data = {
      arabica: this.state.formSeeds
    };
    const url = `${process.env.REACT_APP_WEB_SERVICE_URL}/handle_seeds/${userId}`;
    axios.post(url, data)
      .then((res) => {
        console.log(data);
      })
      .catch((err) => {
      });
  };

и на бэкэнд:

@seeds_bp.route('/handle_seeds/<user_id>', methods=['GET','POST'])
def handle_seeds(user_id):

    post_data = request.get_json()

    arabica = post_data.get('arabica')

    (...)

но я получаю следующую трассировку:

AttributeError: 'NoneType' object has no attribute 'get'

что мне не хватает?

Ответы [ 2 ]

0 голосов
/ 25 сентября 2019

Отсутствует заголовок с носителем авторизации Content-Type и .Однажды я сделал:

var headers = {
          'Content-Type': 'application/json',
          Authorization: `Bearer ${window.localStorage.authToken}`
        }

и передал это так:

axios.post(url, data, headers)

request.get_json() сработало.

0 голосов
/ 25 сентября 2019

Похоже, что все, что вы возвращаете из post_data = request.get_json(), не возвращает тип объекта, из которого вы пытаетесь использовать метод get().

Попробуйте консольное ведение журнала объекта запроса, чтобы увидеть, если вы видите объект JSON, прикрепленный к нему.

...