Javascript 出于某种原因,axios.post.then()忽略了then()部分

Javascript 出于某种原因,axios.post.then()忽略了then()部分,javascript,axios,Javascript,Axios,我有这个功能 function waterCalibrator() { axios.post("http://localhost:3001/api/update-water", { waterValue: props.moisture }).then(function(response){ console.log("Water calibration worked") console.log(resp

我有这个功能

function waterCalibrator() {
    axios.post("http://localhost:3001/api/update-water", {
    waterValue: props.moisture
    }).then(function(response){
        console.log("Water calibration worked")
        console.log(response);
    }).catch(function(error) {
        console.log(error);
    })
    props.airValueObject.setWaterFlag(true);
    props.airValueObject.setWaterValue(props.moisture);
}
有人能解释一下为什么then()从未被触发吗?我没有错误。它根本没有触发。除了这个,一切都正常

    }).then(function(response){
        console.log("Water calibration worked")
        console.log(response);
    }).catch(function(error) {
        console.log(error);
    })
服务器端看起来像这样

app.post("/api/update-water", (req, res) => {
    const waterValue = req.body.waterValue;
    const sqlUpdateWater = "UPDATE user SET waterValue=? WHERE uid='j' ";
    db.query(sqlUpdateWater, [waterValue], (err, result)=>{
        console.log(`water is: ${waterValue}`)
    })
})
您将获得一个,这意味着请求已成功通过,但根本没有内容,因此您尝试不记录任何内容

HTTP 204无内容成功状态响应代码表示请求已成功,但。。。常见用例是作为PUT请求的结果返回204,更新资源,而不改变显示给用户的页面的当前内容。如果创建了资源,则返回201 created。如果页面应更改为最新更新的页面,则应使用200

正如前面的评论所建议的,您还需要打开开发控制台并检查承诺本身的状态。这一承诺似乎是成功的


如果这个答案有助于解决问题,考虑接受答案或投票表决。谢谢。

如果
没有被触发,那么
捕获也不会比承诺永远无法解决。。。不尝试使用async/await?应该是这样。打开DevTools的Network选项卡,检查请求发生了什么…它给出了一个2040的状态。您的代码很好,似乎您正在请求一些不可用的东西。。。非常感谢。我会在几小时后检查这件事,当我回到家,让你知道这是否解决了它。这是完全可能的。我想你没有检查答案是否解决了问题?对不起,我有其他事情要做。我现在正在检查,我会让你知道的。所以这就是问题所在。谢谢你的帮助。为了澄清原因,我没有这两行。。。。。res.send(“成功”);res.end();所以没有任何东西被送回前端。愚蠢的错误。