axios 不会将 post 数据发送到后端
Posted
技术标签:
【中文标题】axios 不会将 post 数据发送到后端【英文标题】:axios doesn't send post data to the back-end 【发布时间】:2019-06-20 19:23:35 【问题描述】:我是新手,我的问题是我要向我的节点后端发出一个发布请求。使用 react-redux 和 axios。问题是我的后端甚至没有达到请求。并且在浏览器以太网中的网络选项卡上没有任何操作
我尝试了很多其他答案,但都不起作用
此代码在我的 redux 操作页面中
export 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 );
);
;
post 数据按预期发送。使用 postman 后也可以正常工作。但它不起作用。 想不出解决办法。 我的代码有什么问题? 在此先感谢
【问题讨论】:
【参考方案1】:应该是
axios.post(
`$API_BASE_URL/nominations/payments`, nominationPayments,
headers: headers).
可以删除标题部分,默认为application/json
【讨论】:
当我删除返回函数 (dispatch) 部分时它起作用了..为什么会这样 你如何调用这个函数? if (activeStep === 2) postNominationPayments(this.state); 使用 , this.props.dispatch(postNominationPayments(this.state)); 调用它 那是问题..以前我没有像 this.props 那样打电话..现在它正在工作..谢谢【参考方案2】:您将数据传递给 axios 发布请求的方式不正确。你需要传递类似下面的东西
改变
axios(
`$API_BASE_URL/nominations/payments`,
nominationPayments
,headers: headers
)
到
axios.post(
`$API_BASE_URL/nominations/payments`,
nominationPayments,
headers: headers
)
【讨论】:
【参考方案3】:axios.get
和 axios.post
采用不同类型的参数,可能很难记住。
所以我通常只坚持更冗长的方式:
axios(
method: 'post',
url: `$API_BASE_URL/nominations/payments`,
data:
nominationPayments
,
headers
)
.then(response =>
// ...
)
.catch(error =>
// ...
)
【讨论】:
【参考方案4】:您是否检查过您的 MongoDB 服务器是否已启动并正在运行?
在我的例子中,我的 React 服务器正在运行,但是,我的 MongoDB 服务器没有。我同时运行两者,并且能够将数据发布到后端。
【讨论】:
以上是关于axios 不会将 post 数据发送到后端的主要内容,如果未能解决你的问题,请参考以下文章