在快递中.js有没有办法同时处理 ajax 表单提交和浏览器帖子提交

In express.js is there a way to handle both ajax form submitions and browser post submits?

本文关键字:表单提交 ajax 浏览器 提交 处理 js 快递 有没有      更新时间:2023-09-26

我在我的网站上有一个用 express.js (4.0) 构建的联系表格。我想知道如何处理我的用户禁用JavaScript的情况。

如果我的路由函数的末尾说:

res.render('contact.jade', {
  title: 'Thanks for reaching out!',
  errors: errors,
  now: new Date().getFullYear()
});

这会处理 AJAX 以及普通表单提交吗?有没有更好的处理方法?(这是否会影响两者的性能?

使用 express 时可以使用 req.xhr,如果请求将 X-Requested-With 标头设置为 XMLHttpRequest,则设置为 true,这是由大多数框架完成的,也可以手动完成。

例:

if (req.xhr) {
    res.json(errors);
} else {
    res.render('contact.jade', {
        title: 'Thanks for reaching out!',
        errors: errors,
        now: new Date().getFullYear()
    });
}