【问题标题】:ejs code to display flash message in angular for ionic framework用于离子框架的 ejs 代码以角度显示 Flash 消息
【发布时间】:2017-08-18 21:22:17
【问题描述】:

我无法弄清楚如何将 ejs 代码转换为 angular,因为我使用的是 csrf 令牌、消息闪存并且需要放入 ionic 以显示闪存消息。 html中的ejs显示文字

<% if (hasErrors) {%>
<div class="alert alert-danger">
<% messages.forEach(function(message){ %>
<p><%= message %></p>
 <% });%>
</div>
<% }%>

我如何转换为角度获取数据....

这是使用 express 的后端即时通讯

   var express = require('express');
   var router = express.Router();
   var User = require('../models/User.js');
   var csrf = require('csurf');
   var passport = require('passport');

   var csrfProtection = csrf();
   router.use(csrfProtection);



  /* GET signup page. */
   router.get('/', function(req, res, next) {
   res.render('signup', { title: 'Sign Up'});
   });

   /*GET create account page.*/
     router.get('/register', function(req, res, next){
   var messages = req.flash('error');
   res.render('register', {csrfToken: req.csrfToken(), messages: messages, hasErrors:messages.length >0 });
   });
  /*POST register saves email then go to questions*/
   router.post('/register', passport.authenticate('local.register',{
   successRedirect: 'questions',
   failureRedirect: '/',
   failureFlash: true
  }));


  router.get('questions', function(req, res, next){
  res.render('questions'); 
  })

Register.html(我知道我必须在 ejs 代码周围添加一些内容)

<div id="createaccount">
<a class="button icon-left ion-chevron-left button-clear button-light" a href="#/signup"></a>
<h1 class="hidden">Creating Account</h1>
<img src="../img/logo.png" alt=logo id="logo">
<div id="footer">
<div class="imageHolder">
<img src="../img/email.png" alt=mail id="emailIcon">
<img src="../img/key.png" alt="key" id="keyIcon">
</div>

<% if (hasErrors) {%>
<div class="alert alert-danger">
<% messages.forEach(function(message){ %>
   <p><%= message %></p>
 <% });%>
 </div>
 <% }%>

 <div class="list list-inset" id="form">
 <form action="register" method="post">
 <label class="item item-input"> 
 <input type="text" placeholder="Email">
 </label>
 <label class="item item-input" id="passform"> 
 <input type="text" placeholder="Password">
 </label>
 <input type="hidden" name="_csrf" value="<%= csrfToken%>"/>

 <div> 
 <input type="submit" value="SIGN UP" a href="#/questions" button class="button" id="submitbutton"></a>
 </div>
 </div>

  </form>
  </div>

  </div>

app.js 这是我目前所拥有的,我知道我必须在这里放一些东西

  var HCapp = angular.module('HCapp',['ionic','ui.router']);

  HCapp.config(['$stateProvider','$urlRouterProvider', function($stateProvider, $urlRouterProvider){
  $stateProvider
  .state('signup', {  
  url: '/signup', 
  templateUrl: 'views/signup.html'
  })

  .state('register',{
  url:'/register',
  templateUrl: 'views/register.html'
   })

  .state('sign-in', {
  url:'/sign-in',
  templateUrl: 'views/sign-in.html'
   })

    .state('questions',{
    url:'/questions',
   templateUrl: 'views/questions.html'
 })

 $urlRouterProvider.otherwise('signup');
 }]);

【问题讨论】:

    标签: angularjs ionic-framework passport.js csrf ejs


    【解决方案1】:

    ejs 需要运行一个模板引擎,它在 ionic 中不存在,因为没有节点运行时或模板引擎。如果你想要这种支持,你需要添加一个自定义的 cordova 插件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-29
      • 1970-01-01
      • 2015-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多