Express.js no se procesará en la acción posterior

Node.js es algo nuevo, por lo que apenas puedo encontrar cosas en internet. Ya he resuelto esto. Fue porque estaba llamando desde el lado del cliente usando$.ajax. Pero cuando lo intento en mi código a continuación, nunca se muestra. La página inicial era / contact, y cuando llamo / contact / sendEmail, todas las funciones dentro de / contact / sendEmail están funcionando pero no con el render. No hubo ningún error en absoluto. Fue como si nada hubiera pasado.

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

module.exports = function(app) {
  app.get('/contact', function(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);
      }
    });
  });
};

Fue llamado por esta función

$('.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);
    }
  });
});

Para que todos aprendan. Lo cambié para llamar desde el lado del servidor agregando esto al archivo de jade:

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

Respuestas a la pregunta(1)

Su respuesta a la pregunta