【发布时间】:2017-12-22 02:29:44
【问题描述】:
我有一个注册表单,其中包含一些输入字段,例如用户名、电子邮件、... 我还有一个脚本,用于在单击提交按钮时验证从(输入字段的标签在字段为空时变为红色),但提交按钮也会向服务器发送一个发布请求。在服务器上还有一些验证,当服务器端没有验证错误时,会创建一个用户并将其保存到数据库中。但是当出现验证错误时,我不知道该怎么办。
-如果我只是使用return跳出函数,页面会继续加载(因为我认为它等待响应)
-如果我使用 res.redirect(到同一页面)或 res.render(同一页面),输入字段的标签不再是红色,但我想让它们保持红色,以便用户看到他做错了。
谁能帮我解决这个问题?
【问题讨论】:
-
所有请求都需要返回响应(否则浏览器会等待很长时间才能收到响应)。如果您通过 Javascript 提交表单,那么您只需要从服务器返回一个响应,该响应表明当表单未验证时出现验证错误,并且获得响应的 Javascript 需要查看并理解错误并将屏幕上的正确信息供用户查看。一种简单的方案是返回带有“状态”属性的 JSON 响应,您的 Javascript 可以检查并采取相应的行动。
-
返回带有错误消息的 json 响应并在表单上显示错误。
-
正如上面的人所说...但是,如果您已经知道页面存在验证错误(因为您已经突出显示红色),您为什么要发送请求?跨度>
标签: javascript html node.js express