问题
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.
回答1:
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
来源:https://stackoverflow.com/questions/9789418/nodejs-expressjs-jade-post-no-render