微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

node.js – SailsJs res.render vs res.view

我正在尝试使用SailsJs使用PassportJs EJS模板引擎制作一个简单的身份验证Web应用程序.

这是我在AuthenController.coffee中的代码

processSignin: (req,res) ->
  passport.authenticate('local',(err,user,info) ->
    if err or not user
      return res.view('auth/signin',message:'Failed')
    req.logIn user,(err) ->
      return res.view('auth/signin',message:'Failed') if err
      res.redirect '/'
  ) req,res
  return

如果我使用:res.render(‘/ auth / login’,{message:’err’})

浏览器只返回login.ejs的HTML代码

如果我使用:res.view(‘/ auth / login’,{message:’err’})
然后它返回包含在layout.ejs的<% - body%>中的login.ejs代码.

这有什么不同的解释?它是Sails的新功能还是内置的Express?哪里可以找到关于此的文件

解决方法

res.render是 expressJS method,而res.view是 SailsJs method.后者将请求的视图包装在认布局中,除非请求不同的布局.因此,您必须决定是否只需要您正在请求的已编译模板(res.render)或更完整的视图(res.view).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐