Аксиос то, лови не называются - PullRequest
1 голос
/ 14 марта 2019

В моем интерфейсе React я успешно вызываю Axios с методом post, в моем Python Falcon параметры бэкэнда принимаются успешно, и токен генерируется обратно, проблема в том, что код в .then или даже .catch никогда не вызывается, вот мой код переднего плана:

async submit() {
  //var aluser = this.this.state.username;
  await axios({
    method: "post",
    url: "http://127.0.0.1:8000/Login",
    headers: {
      "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
    },
    params: {
      username: this.state.username,
      password: this.state.password
    }
  })
    .catch(error => {
      console.log(
        "here is the error on a post request from the python server  ",
        error
      );
    })
    .then(res => {
      console.log(res);

      sessionStorage.setItem("token", res.data[0]);
    });
}

Примечание: порядок .then .catch был переключен ранее, тот же результат.

Заранее спасибо

1 Ответ

1 голос
/ 14 марта 2019

попробуйте использовать try/catch

const params = new URLSearchParams();
params.append('username', this.state.username);
params.append('password', this.state.password);

async submit() {
  //var aluser = this.this.state.username;
  try {
    const res = await axios({
      method: "post",
      url: "http://127.0.0.1:8000/Login",
      headers: {
        "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
      },
      params
    })

    sessionStorage.setItem("token", res.data[0]);
  } catch (err) {
    console.log(
      "here is the error on a post request from the python server  ",
      error
    );
  }
}
...