【问题标题】:Why is my HTML POST request form not going through to Express app.post? How do I pass on the number variables to another POST request?为什么我的 HTML POST 请求表单没有通过 Express app.post?如何将数字变量传递给另一个 POST 请求?
【发布时间】:2019-10-03 23:01:47
【问题描述】:

我认为我做错了什么,或者误解了我在网上阅读的有关 POST 和 GET 请求的内容。我在 myNumber.ejs 上有一个提交表单。当我按下提交时,有 Add.ejs 的视图。 Add.ejs 应该显示数字和数字+1 值。但是 Add POST 请求不起作用,并且 number+1 显示为 0。它只有在我将计算放入 Add GET 请求时才有效。

我将它作为 method="post",但呈现和执行数学运算的方法是 GET(显示 0 和 1)。我可以在 myNumber.ejs 中将其保留为 POST 并且 GET 仍然有效。 app.post 没有做任何事情,它的数学运算将所有变量都保留为 = 0。我对为什么会发生这种情况感到困惑,我认为 post 只会导致 app.post。

【问题讨论】:

  • 您是否安装了 body-parser 来解析传入的 post 请求?
  • @Ifaruki 是的,我确实安装了 body-parser!在这种情况下我将如何使用它?

标签: javascript html node.js express


【解决方案1】:

当表单提交时,您将取消提交并打开一个弹出窗口。弹出窗口只是一个正常的获取请求。 要将表单提交到弹出窗口中,请尝试以下操作:

<form class="" onsubmit="centeredPopup('/add','myWindow','700','300','yes');" target="myWindow" action="/add" method="post">
        <p>Count: <%= myNum %>
        <button type="submit" class="btn btn-md" name="button">Add</button></p>    
</form>

假设 centeredPopup 的第二个参数是窗口名称,要使 POST 工作,centeredPopup('/add','this' 和 &lt;form target="this" 需要相同,并且不能有 return false

【讨论】:

  • 非常感谢你太棒了!!!!!!我很感激!有效!这很有意义!我一直在谷歌上搜索东西,非常沮丧!你知道在我用按钮关闭弹出窗口后如何将这些变量传递到另一个 ejs 文件吗?我不想丢失这些值,但我似乎无法从每个不同的发布请求中访问“更改的变量”。
  • 我可以帮忙,但请单独提问。
  • 您好!我在这里问了这个问题,如果你能帮助我,请:stackoverflow.com/questions/58242772/…
猜你喜欢
  • 2020-06-16
  • 2016-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-21
相关资源
最近更新 更多