2012-03-20 35 views
-1

1˚ - 客户端:+的NodeJS + ExpressJS玉+后没有呈现

$.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˚ - 服务器:

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˚ - 客户端 - > 'SomePage的' - 没有这个未呈现在客户端:

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

或本

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

而应该发生什么?您正在进行ajax调用,并且您可以清楚地看到服务器响应数据。你知道ajax是什么吗? :)如果你想让它像普通的POST一样工作,你可以例如从服务器返回URL并执行'location.href = url;'。 – freakish 2012-03-20 15:27:57

+0

下次请正确格式化您的代码;而其他人很可能会很快做到这一点,让他们做一些你可以轻松做到的事情也不好。 – ThiefMaster 2012-03-20 23:46:59

+0

你应该使用** app.post(**代替app.get( – 2012-10-15 07:18:41

回答

-1

因为您从客户端拨打$.ajax。 如果从服务器端

叫它做一个页面调用从服务器端的URL它的工作好,你应该添加到您的形式

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

请参考这个问题。 Express.js Won't Render in Post Action

+0

)虽然这个链接可能回答这个问题,但最好在这里包含答案的基本部分,并提供链接以供参考。如果链接页面发生变化,可能会失效 – 2014-10-12 21:08:07

+0

好的,注意@ Rory-McCrossan – 2014-10-13 11:24:30