使用axios发布请求获取错误400

时间:2020-02-24 02:28:07

标签: javascript asynchronous axios

我正在尝试使用axios进行发布请求,以从服务器获取密钥,并使用它进行第二次发布请求。第一个应该返回一个称为session_id的变量,但确实如此,但是第二个请求失败,错误代码为400,错误请求。我曾尝试向第二个请求添加延迟,以防诺言有问题,但是没有用。抱歉,这是一个愚蠢的错误,因为我不熟悉JS调用。如果我对发布整个代码有利,请询问,我会这样做。

async function login() {
  await axios.post(url,credentials)
    .then(function(response) {
      return response.data.data.sessionId
        })
    .catch(function(error) {
      console.log(error)
    })
}

function pullPush(sessionId) {
      axios.defaults.headers.common['Authorization'] = 'Session ' + sessionId
      axios.post(url2, body)
        .then(function(response) {
          console.log(response)
        })
        .catch(function(error) {
          console.log(error)
        })
      }
pullPush(login())

1 个答案:

答案 0 :(得分:0)

我认为您使用的异步方式不正确尝试login().then(pullPush) 并在登录功能内返回axios.post调用。

所以return await axios.post(...)

由于登录是异步函数,因此它返回一个Promise。 因此,我们将其与then链接以获得最后链接的.then的结果 并传递给下一个函数pullPush