节点.js表单更新有和没有 ajax

Node.js form update with and without ajax

本文关键字:ajax 更新 js 表单 节点      更新时间:2023-09-26

处理必须在没有启用JavaScript的情况下工作的表单的"最佳"方法是什么?

为每个路由创建不同的路线会更好吗,例如

AJAX 请求:路由"API/contact"return res.send("message")

没有JavaScript:路由"联系人"并返回带有"消息"查询参数的重定向

还是在一条路线中检测xhr并据此渲染它?

或者有没有更好的方法来处理当 JavaScript 未启用以向用户提供提交反馈时将用户带到res.send("")的问题?

澄清一下:我有一个站点正在处理 AJAX 对其表单的请求,以避免整页加载。当未启用 JavaScript 时,它缺少回退,因此当用户单击表单上的提交时,他使用 res.send 从回发中接收数据,并替换整个页面,而不是所需的效果,即仅使用"成功/失败"消息更新标签。那么问题仍然是如上所述,哪种方式是处理这个问题的巧妙方法?

可能最好的办法是检查 X-Requested-With 标头并检查它是否包含XMLHttpRequest(但这可能会被弃用,因为新的 fetch API 将慢慢进入浏览器。

根据该值,您可能希望返回JSON有效负载,或最终触发服务器端呈现,从而返回随时可以使用的 HTML 页面。

作为替代方法,您可以返回具有特定查询字符串值的重定向响应;加载页面后,您将检查该值(例如使用 qs,或deparam jquery并相应地操作客户端。

你的服务器路由与客户端JavaScript无关。你不需要javascript来接收"res.send"消息。