app.post('/user/signin',function(req,res){
var user=req.body.user;
var {name,password}=user;
User.findOne({name:name},function(err,user){
if(err) console.log(err);
if(!user) return res.json({state:1});
user.comparePassword(password,function(err,isMatched){
if(err) console.log(err);
if(isMatched) {
res.json({state:3});
}
else res.json({state:2});
});
});
});
$('#signinModal .btn-success').on('click',function(e){
$.ajax({
type:'POST',
url:'/user/signin',
data:$('#signinModal form').serialize(),
success:function(data){
switch(data.state){
case 1:$('#errorName').css({opacity:1});break;
case 2:$('#errorPassword').css({opacity:1});break;
case 3:location.href='/';break;
}
}
});
});
PHP中文网2017-04-17 15:34:28
你可以透過req.session.user = userInfo將使用者資訊賦值給req.session.user
這個當你跳到首頁時你可以透過req.session.user取得使用者資訊。
如果你的前端頁面需要的話,你可以在渲染的時候傳值過去,例如
res.render('index',{
user: req.session.user
});
如果你使用的是express框架的話可以使用res.locals.user = req.session.user;
這樣你的頁面直接使用user這個變數就可以獲取了,比如:
<p class="menu">
<% if (user) { %>
<a class="item" href="/posts?author=<%= user._id %>">个人主页</a>
<p class="pider"></p>
<a class="item" href="/posts/create">发表文章</a>
<a class="item" href="/signout">登出</a>
<% } else { %>
<a class="item" href="/signin">登录</a>
<a class="item" href="/signup">注册</a>
<% } %>
</p>
PHP中文网2017-04-17 15:34:28
(舉java後台為例)前端ajax提交表單後(var loader = new net.AjaxRequest(url, deal_data, onerror, "POST", params);
)[註:net.AjaxRequest是預先定義好的一個函數,其中deal_data為ajax請求成功後的回呼處理函數],後台進行業務處理後,使用JSONArray放置需回傳的結果,httpservletresponse寫進去,回傳給前端,
JSONArray jsonArray = new JSONArray();
jsonArray.add(0, true);
response.getWriter().print(jsonArray);
由ajax的回呼函數處理:獲得返回文本,解析成json數據,按需處理。
var datas = eval(this.req.responseText);