首页 > 解决方案 > 如何在不使用 NodeJS 加载页面的情况下发送 POST 请求并获取响应

问题描述

我想向我的 NodeJS 服务器发送一个发布请求以更新我的数据库中的文档并取回响应,但我不希望页面加载,我只想提醒它该过程已成功完成...... ..这是我的代码HTML:

 <form action="/products/update" method="POST" id="myFrom">
                        <button type="submit" class="btn btn-success">save</button>

    <input type="number" name="productCount">

    <input type="text" name="productName">
</form>

JS:

$("#myFrom").submit(function (e) {
    $.ajax({
            success: function (data) {
                console.log(data);
            }
    });
});

节点JS:

router.post("/products/update", (req, res) => {
    console.log(req.body);
    res.status(200).send("success");
});

问题是当我按下保存时它重定向到/products/update并在其中键入成功,但我希望成功在编辑页面中成为警报

标签: javascripthtmlnode.jsajax

解决方案


用户 e.preventDefault() 提交表单而不刷新页面

 $("#myFrom").submit(function (e) {
 e.preventDefault()
 $.ajax({
        success: function (data) {
            console.log(data);
        }
  });
 });

推荐阅读