【问题标题】:Show results of a POST to the page向页面显示 POST 的结果
【发布时间】:2017-10-18 22:05:18
【问题描述】:

我正在使用 node.js/express,并且我有一个带有表单的视图 - 表单 POST 到一个路由,然后返回 json。

我想(至少从一开始)发送我的表单,并将返回的数据显示在表单下方(在同一视图上)。

以最“快速”的方式做到这一点的最佳方式是什么?

最好不要刷新页面。

Ajax 会做我所追求的 - 但这是一种很好的方法吗?

感谢您的任何见解

【问题讨论】:

  • 您需要一种客户端语言才能在不刷新的情况下更新页面上的内容,并且考虑到您还可以使用 AJAX 检索数据,这对我来说似乎很完美(假设您重新通过 AJAX 发布数据)。
  • Ajax 会做到这一点,而 ajax 是在同一页面上不刷新的唯一方法(或者您可以使用套接字,但不是处理表单的最佳方法)

标签: javascript node.js ajax express


【解决方案1】:

您正在寻找的最起码看起来像这样:

客户端

fetch('your_endpoint', {
    method: 'POST',
      body: JSON.stringify(formData),
  }).then((response) => {
    // success
    return response.json();
  })
  .then((data) => {
    // add data to DOM
  })
  .catch((error) => {
    // failed to send
  });
}

使用 Expressjs 的服务器端

router.post('/your_endpoint', (req, res, next) => {
    // process request
    res.status(200).json({ "data": your_data });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多