axios不会将发布数据发送到后端

时间:2019-01-27 17:41:55

标签: reactjs react-redux axios

我是新来的,我的问题是我要向节点后端发出发布请求。使用react-redux和axios。问题是我的后端甚至没有达到请求。并且在浏览器以太

的“网络”标签上没有任何操作

我尝试了很多其他答案,但没有用

此代码在我的redux操作页面中

导出const postNominationPayments =函数

postNominationPayments(candidatePayments){

let nominationPayments = {

    depositor:candidatePayments.depositor,
    depositAmount:candidatePayments.depositAmount,
    depositeDate:candidatePayments.depositeDate,
    filePath:candidatePayments.filePath,
    status:candidatePayments.status,
    nominationId:candidatePayments.nominationId

};


return function (dispatch) {
    console.log("**",nominationPayments);
        var headers = {
        'Accept': 'application/json',
        'Content-Type': 'application/json',
        }
     axios
        .post(
            `${API_BASE_URL}/nominations/payments`,
            {
                nominationPayments
            },{headers: headers}
        )
        .then(response => {
            console.log("))))))))))))",response);
            // dispatch({
            //     type: POST_NOMINATION_PAYMENTS,
            //     payload: response.data
            // })
        })
        .catch(error => {
            console.log("===",error);
            // dispatch({ type: AUTH_FAILED });
            // dispatch({ type: ERROR, payload: error.data.error.message });
          });



};

}

发布数据如期而至。背面也可以使用邮递员正常工作。但它不起作用。 想不到一个解决方案。 我的代码有什么问题? 预先感谢

4 个答案:

答案 0 :(得分:0)

将数据传递到axios发布请求的方式不正确。您需要通过以下内容

更改

  axios(
        `${API_BASE_URL}/nominations/payments`,
        {
            nominationPayments
        },{headers: headers}
    )

收件人

  axios.post(
       `${API_BASE_URL}/nominations/payments`,
         nominationPayments,
         {
              headers: headers
         }
    )

答案 1 :(得分:0)

应该是

 axios.post(
            `${API_BASE_URL}/nominations/payments`, nominationPayments,
             {headers: headers}).

也可以删除标题部分,默认值为application/json

答案 2 :(得分:0)

axios.getaxios.post使用不同类型的参数,可能很难记住。

所以我通常只是坚持更冗长的方式:

axios({
  method: 'post',
  url: `${API_BASE_URL}/nominations/payments`,
  data: {
    nominationPayments
  },
  headers
})
  .then(response => {
    // ...
  })
  .catch(error => {
    // ...
  })

答案 3 :(得分:0)

您是否检查过您的 MongoDB 服务器是否已启动并正在运行?

就我而言,我的 React 服务器正在运行,但是,我的 MongoDB 服务器没有运行。我同时运行,并且能够将数据发布到后端。