当前位置: 首页 > 面试题库 >

Express.js不会在后期操作中呈现

师俊健
2023-03-14
问题内容

Node.js有点新,所以我几乎无法在Internet上找到东西。我已经解决了。这是因为我是使用来从客户端呼叫的$.ajax。但是,当我在下面的代码中尝试使用它时,它永远不会呈现。初始页面是/
contact,当我调用/ contact / sendEmail时,/ contact /
sendEmail中的所有功能都可以使用,但渲染时不起作用。完全没有错误。就像什么都没有发生。

var Contact = require('../controllers/contact');

module.exports = function(app) {
  app.get('/contact', functhtml" target="_blank">ion(req, res) {
    res.render('contact');
  });
  app.post('/contact/sendEmail', function(req, res, next) {
    var form = req.body;
    Contact.validators.form(form, function(err) {
      if (err) {
        return res.render('user/register'); //This one never works!
        /*return res.render('contact', {
          error: err,
        });*/
      } else {
        Contact.sendEmail(req, res, next);
      }
    });
  });
};

它被这个函数调用

$('.contact').submit(function(event, done) {
  var form = $(this);
  var data = form.serializeArray();
  // server side validation
  // every contact form field is required
  event.preventDefault();
  $.ajax({
    type: 'POST',
    url: '/contact/sendEmail',
    data: form.serialize()
  })
  .done(function(data) {
    if (data.status == 'OK') {
      $('#contact-success').modal('show');
    } else {
      return done('Please fill all of the fields.', false);
    }
  });
});

供大家学习。通过将其添加到jade文件中,我将其更改为从服务器端调用:

form(role="form" method="POST")

问题答案:

我自己成功解决了!我发现发生了这种情况,因为我$.ajax从客户端呼叫了路由。当我通过将此代码放入表单并删除来更改调用方法时$.ajax,它就完成了。谢谢@mscdex

form(role="form" method="POST")

然后我将路线/contact/sendEmail改为了/contact



 类似资料:
  • 我的目标是有两个不同的FullCalendar元素保持同步。我不做任何网络调用,在这一点上只是客户端数组。 当我添加一个事件时(比如通过点击或者在它构建之后),日历实际上不会像文档所说的那样重新呈现。 我还尝试使用“renderEvents”和“renderEvent”风格,但这似乎没有必要,因为“updateEvents”将/应该更新这些事件的呈现。我还遇到了一个问题,日历列表版本上的“rend

  • 问题内容: 使用Express.js,会话非常简单。我很好奇它们实际上是如何工作的。 它在客户端上存储一些cookie吗?如果是这样,我在哪里可以找到该Cookie?如果需要,如何解码? 我基本上希望能够查看用户是否已登录,即使当时用户实际上不在该站点上(例如,当您在其他站点上时,facebook如何知道您已登录)。但是我想了解的是,我应该首先了解会议的工作方式。 问题答案: 我从未使用过Expr

  • 问题内容: 我需要帮助来了解Web应用程序的会话概念。我正在使用Express 3.0运行Node.js服务器。 我的目标是: 为每个登录的用户创建一个会话 存储此会话,并将其用于验证用户是否已登录(防止同时使用同一用户的两个设备)并限制对某些页面的访问(通过将会话ID与其他数据匹配) 我将使用MemoryStore保存会话(似乎最简单)。如果上述目标有意义,您能否提供有关如何实现这些目标的详尽解

  • 我面临的问题是,我不能让这个循环的每个迭代之间的板得到呈现。我只得到这个循环的最终结果。 我试图在每次迭代之前创建一个thread.sleep(2*1000),以便给渲染系统时间来绘制我的板,但它工作了。 另一个解决办法是调用

  • 我的表格代码: 我的视图代码: 堆栈跟踪: 环境: 请求方法:获取请求URL: Django版本:1.4 Python版本:2.7。2个已安装的应用程序:('django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.sites','django.contrib.messa

  • 问题内容: 我有一个相当简单的Express.js应用程序,带有一个登录组件,如果登录失败,我想尽早退出。我看到有迹象表明该应用程序没有执行此操作,也没有找到明确的答案来表明调用是否停止任何进一步的处理。这是我现在的代码: 如果我正确地阅读了源代码,它 应该 结束请求(终止进一步的处理),但是我是Node的新手,所以我还没有准备好相信我认为的内容。归根结底,我想我主要是在寻找更可靠的资源来获得最终