首页 > 解决方案 > 我正在练习一个小型联系表格,我想在其中呈现带有用户名的完整视图

问题描述

控制器

验证工作正常。但“发送”视图不是渲染

router.get("/", (req, res) => {
  res.render("index")
})
router.post('/', (req, res) => {
  const { error } = formValidation(req.body);
  if (error) {
    return res.send({message: error.details[0].message});
  };
  res.render('sent', { name: req.body.name });
})

ajax 脚本。

我使用 jQuery ajax 以便用户保留输入,如果有任何无效输入。

并在一个元素中显示错误。

我是否将渲染视图放入元素中,这是问题所在吗?

$(document).ready(function () {
  $("#submit").click(function (event) {
    event.preventDefault();

    let formData = {
      name: $("#fname")[0].value,
      email: $("#email")[0].value,
      subject: $("#subject")[0].value,
      message: $("#message")[0].value,
    };

    $.ajax({
      url: "/",
      data: formData,
      dataType: "json",
      method: "POST",
      success: function (data) {
        $("#msg").html(data.message);  
      },
    });
  });
});

标签: javascriptnode.jsajaxexpressejs

解决方案


推荐阅读