当前位置: 首页 > 知识库问答 >
问题:

调用res.json()时如何阻止nodejs app失败?

艾跃
2023-03-14

我想检查蒙哥数据库中是否已存在电子邮件ID。如果设置了 req.body.email,它将触发MongoDB查询,如果结果为真,则它应该在json中发送状态:true。

我已经尝试从外部发送res.json()User.findOne()仍然不起作用。我已经将接受标头设置为应用程序/json。仍然不起作用。

NodeJS上的代码

router.post("/individual/signup", (req, res, next) => {
    let isJSON = false;
    if (req.body.email) {
        let email = req.body.email.toLowerCase().trim()
        User.findOne({ email: email }, (err, result) => {
            if (result) {
                return res.json({status: true}).end()
            } else {
                return res.json({status: false}).end()
            }
        })
    } else {
        return res.json({ status: false }).end()
    }
})

前端代码

fetch('/individual/signup', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    },
    body: JSON.stringify({
        email: "ishwar@gmail.com"
    })
}).then(function (res) {
    return res.json()
}).then(function (data) {
    console.log("received data: " + JSON.stringify(data))
})

错误日志

0如果以ok 1 verbose cli[1 verbose cl'C:\\Program Files(x86)\\nodejs\\node.exe',1 verbose-cli'C:\\nProgram Files[x86)\\nodejs\\nodes_modules\\npm\\bin\\npm cli.js',1详细cli'start'1详细cli]2信息使用npm@6.9.03信息使用node@v12.0.04详细运行脚本[“prestart”、“start”和“poststart”]5信息生命周期codex-app@0.0.0~启动前:codex-app@0.0.06信息生命周期codex-app@0.0.0~开始:codex-app@0.0.07详细生命周期codex-app@0.0.0~start:生命周期中的不安全烫发true 8详细生命周期codex-app@0.0.0~开始:路径:

如果找到else,它应该返回{status:true}{status:false}


共有1个答案

闻人献
2023-03-14

我必须清理缓存,然后删除node_modules,删除package-lock.json,然后npm安装

npm 缓存清理 --强制

 类似资料:
  • 问题内容: Ajax使用回调,因为它是同步的。 我希望对远程URL块的调用直到出现一些答案为止 ,就像在Ajax中一样,但是没有异步部分,或者我要说要进行JAX调用。 是否有任何技术可以使以下事情发生(使用JQuery)(…使用JQuery或其他解决方案): 我只是想知道-想学习。 实际上,有时会阻塞直到回复合适为止。我并不是说要浏览器阻止,而只是脚本运行时。 问题答案: 您可以在使用jQuery

  • 我一直在试验项目反应器和反应流。我在使用使流在不同的线程上运行时遇到了一个问题。将我的代码放在主线程中,我需要主线程块,直到流完成,所以我做了这样的事情: 然后我注意到有一个方法执行阻塞。但是我不能同时使用订阅和块最后,因为它们不返回。 有什么优雅的方法可以做到这一点吗?

  • 在我的应用程序中,其中一个活动有两个。我从建议列表中选择它们的值,然后按 OK 按钮。“确定”按钮为我带来了一个新活动,用于显示“自动完成”文本视图值的结果基础。但是,如果我现在按下后退按钮并返回到具有两个自动完成TextView文本视图的活动,它们都开始显示建议列表。我希望他们不要显示建议列表,因为建议列表只包含文本视图中已有的单个项目。我试图设置适配器空值,然后设置回原始数组,但这并不能阻止自

  • 如果一个测试用例在量角器中失败,有没有办法退出测试套件并停止执行更多的测试用例?

  • 问题内容: 我有这样的代码: 当从任何代码位置调用此方法都很好,但是当我在promise中使用它时(见下文),它总是被浏览器阻止。有什么建议? 承诺是有角度的。 问题答案: 响应您从Ajax请求获得HTTP响应而触发Promise。这不是用户触发的事件,因此会阻止弹出窗口。使用用户给您的窗口,而不是创建一个新窗口。

  • 我是一个java新手,我正在使用netbean创建一个调度程序。我的软件将从用户那里获取时间和操作,并将这些数据输入到单独的数组列表中。然后我使用javax.swing.timer启动倒计时计时器。当用户完成输入数据并点击“运行”按钮时,计时器将从数组列表中的第一个元素中获取运行时间并开始倒计时。当倒计时时间达到0时,计时器将从数组列表中的下一个元素中获取倒计时时间,依此类推。 我的问题是,计时器