问题标签 [express-4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
19238 浏览

javascript - RangeError [ERR_HTTP_INVALID_STATUS_CODE]:无效状态代码:[object Object] 错误表达 4.16

我正在实施密码重置,当单击生成的链接时,我收到以下错误,

这是我的路线

我想,我快要让它工作了,只是遇到了一些错误。这是其中之一。我检查了文档,没有看到任何提及状态代码的内容,我相信这是最近框架的一个变化,必须为每个重定向或渲染定义状态代码似乎很奇怪。

0 投票
1 回答
301 浏览

javascript - 数据库不更新用户密码重置

我正在创建密码重置功能,但我的数据库似乎没有更新用户密码,在提交新密码表单时我得到 404。

这是我的表单发布路线

这是带有 mongodb 调试的日志

当我单击电子邮件中生成的链接时,它会进入密码重置,那里没有问题。这只是不提交的表格。

这是问题的 gif

0 投票
3 回答
1385 浏览

node.js - Express 中间件 - 添加承诺拒绝处理程序

我有以下简化的中间件功能:

我想为中间件添加一些捕获错误的能力,只是为了保存一些代码,如下所示:

所以我们现在在中间件函数中返回承诺,我们可以放弃 catch 块。

所以在内部,它现在可能看起来像这样:

只是想将其更改为:

有谁知道如何用 Express 做到这一点?

0 投票
3 回答
3638 浏览

node.js - Express 中间件无法捕获 async/await 引发的错误,但为什么呢?

这两个中间件函数的行为不同,我不知道为什么:

在这里,错误将被 try/catch 捕获:

但是在这里,错误不会被 try/catch 捕获:

我认为 Express 用 try/catch 包装了所有中间件函数,所以我看不出它的行为会有什么不同?

我查看了 Express 源代码,处理程序如下所示:

那么为什么那里的 try/catch 不捕获抛出的错误呢?

0 投票
1 回答
45 浏览

javascript - Express4 错误中间件序列

出现了一系列代码执行,我发现这里不寻常的是代码:

服务器.js

Actions_single_PVC.js

如果你以前从未见过这种结构,这里是 asyncMW:

我不明白的是,当抛出错误时(我在这里用 复制了它throw new Error();),文件中的错误处理中间件 server.js会被执行。我预计 Actions_single_PVC.js会执行错误处理中间件。

问题:

为什么server.js执行错误中间件而不是错误中间件Actions_single_PVC.js

0 投票
2 回答
437 浏览

node.js - 异步函数抛出错误 - 但表示调用它的端点 - 看不到它

我有一个辅助函数可以访问 API 并按 ID 获取页面。它使用 async/await,我正在尝试使用 try catch 处理错误。

为了测试错误处理,我故意给它一个不存在的 ID。

这是方法:

它确实像我预期的那样抛出错误。但是,我正在使用快速路由在应用程序的另一部分调用该函数。

在同一个路由器文件中,我也尝试向这个路由器添加一些特定的中间件,但由于没有错误,它永远不会被触发。

当调用自身的函数返回错误时,express API 调用如何返回结果而不是错误?

0 投票
0 回答
99 浏览

sql-server - 最佳实践指南:发布到服务器以获取 SQL 查询数据并将用户重定向回带有数据的 UI

您好,我需要一些关于我正在从事的当前项目的帮助。目标是能够从 UI 与 SQL 交互并在表中显示返回的数据。

我正在使用节点 V9.8.0、express 4.16.3 和 mssql 4.1.0。

我能够连接和获取数据并将其显示在 UI 上,但我认为我的设置不是最佳实践。

我的主要障碍是弄清楚如何将信息发送到服务器而不是查询 SQL 并将用户重定向回 UI,并显示带有预期数据的表格。

前端设置,表单和ajax。我知道表单中的操作应该与 ajax 的 URL 匹配,但要让它工作,我在服务器端有两个发布路由。表单提交到第一个 post 路由并将 req.body 写入文件。ajax post URL 读取文件,然后连接到 SQL,并根据用户的输入和可以接受参数的预定义查询字符串知道要获取哪些数据。

这是我在服务器端的设置。因此,这将从表单中获取 req.body 并将其写入文件,然后将用户重定向回来。

这就是魔法发生的地方。然后,此发布路由将读取文件并将信息传递给可以接收参数的已保存 SQL 查询,然后将信息发送回 UI。

对我来说,这似乎是一个骇人听闻的设置,但我需要尽快产生结果。我想不通或找不到的是,我怎样才能用一条发布路线制作相同的设置?我无法理解如何将信息发送到服务器、SQL 查询以获取数据以及将数据和用户重定向回同一页面。想知道这种设置的最佳做法是什么?或者可能有任何有见地的阅读来帮助指导我?任何帮助表示赞赏。

0 投票
2 回答
387 浏览

node.js - 如何在快速应用程序上查找中间件的路径

所以我的路由器看起来像这样:

当我控制台 .log 该中间件时,我得到:

只有我可以看到中间件的路由路径的部分是正则表达式,但它不容易提取......

知道如何从快递应用程序中获取路径

0 投票
0 回答
143 浏览

node.js - 绕过服务器端 GET 请求的护照身份验证

技术:nodejs server/express 4 框架

在发出 localhost GET 请求时,我正在努力寻找绕过护照身份验证的方法。响应的“正文”部分是登录页面而不是数据。我想直接查询数据而不重定向到登录,因为调用是在服务器端进行的。

这是我的代码:

0 投票
0 回答
43 浏览

post - Expressjs 4:浏览器的POST请求返回Cannot GET / ...状态为404

我刚刚尝试了以下 express 4 应用程序,它只是将选定的水果从客户端发送到服务器,服务器假设返回水果的名称。我从这里得到了这个例子。原始示例使用 Mozilla 的模板引擎 nunjucks。但是,我将它用于快速车把。

这是我的

我的观点/布局/main.hbs

当我转到 localhost:3000 时,它会显示表单,但是当我单击提交按钮时,它会将我带到另一个页面,上面写着:

无法获取 /favorite_fruit?fruit=orange

看过他们使用 ajax 提交按钮上的单击处理程序解决此问题的视频。但是在使用 nunjucks 的示例中,不需要在表单的提交按钮上附加单击处理程序。如果我使用快速车把,我不明白为什么需要这个。我的代码有问题吗。请帮忙。非常感谢。