Sunday, August 19, 2018

Nodejs + ExpressJS + Jade + Post no render

1˚ - Client:

$.ajax({
    type: 'POST',
    data: data,
    url: '/someposturl',
    success: function (data) {
        console.log('success');
        // $('body').html(data); // i don't want it, but if not so, nothing happens (render) 
    }
});

2˚ - Server:

app.get('/criptografar', function (req, res) {
    console.log(req.something);
    res.render('somepage', {
        somevar: withsomevalue
    });
    //-I want this to work like a normal post
});

3˚ - Client -> 'somepage' - not rendered without this in the client:

$('body').html(data); // i don't want it, but if not so, nothing happens (render)

or this

$('html').html(data); // i don't want it, but if not so, nothing happens (render) <- Jade Layout error.

Solved

Because you call it from $.ajax from client side. It works good if you call it from server side

To make a page call a URL from server side, you should add this to your form

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

Please refer to this question. Express.js Won't Render in Post Action


No comments:

Post a Comment