2017-01-21 3 views
0

みんな!私は問題があります。私はReact jsのログアウトフォームを書く必要があります。それはhello.ejsからloginindex.htmlにリダイレクトされ、server.jsを使っていくつかの変数を消去しますが、どのように=(Pls、help =)リアクションjsのログアウトフォーム

loginindex.html:

<!DOCTYPE html> 
<html> 
<head> 
    <title>Login form</title> 
    <link rel="stylesheet" href="css/login.css"> 
</head> 
<body> 
<div id="root">Loading... Please,wait...</div> 

<script src="js/react/react.js"></script> 
<script src="js/react/react-dom.js"></script> 
<script src="https://unpkg.com/[email protected]/babel.min.js"></script> 
<script type="text/babel" src="js/login.js"></script> 
</body> 
</html> 

hello.ejs:

<!DOCTYPE html> 
<html> 
<head> 
    <title>Hello</title> 
</head> 
<body> 
<div id="kek">Loading...</div> 

<script type="text/javascript" src="https://unpkg.com/[email protected]/babel.min.js"></script> 

<script src="js/react/react.js"></script> 
<script src="js/react/react-dom.js"></script> 

<script type="text/babel"> 
    var Hello = React.createClass({ 
     render: function() { 
      return <div> 
       <h1>Hello, <%= name %>!</h1> 
       <a href 
         type="submit" 
         action="/logoutData" 
         className='sub__btn' 
         ref='sub_btn'> 
        LOGOUT 
       </a> 
      </div> 
     } 
    }); 

    ReactDOM.render(
      <Hello />, 
     document.getElementById('kek') 
    ); 
</script> 
</body> 
</html> 

server.js:

var express = require('express'); 
var app = express(); 
var bodyParser = require('body-parser'); 

app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded()); 
app.use(bodyParser.urlencoded({ extended: true })); 

app.set('port', (process.env.PORT || 3000)); 
app.set('view engine', 'ejs'); 

app.post('/loginData', function (req, res) { 
    console.log(req.body) 
    res.render('hello', { name: req.body.add_login }); 
}); 

app.post('/logoutData', function (req, res) { 
    console.log(req.body) 
    res.render(); 
}); 


app.use('/', express.static(__dirname)); 

app.listen(app.get('port'), function() { 
    console.log('Server started: http://localhost:' + app.get('port') + '/'); 
}); 

LOGI n.css:

.form { 
    margin: auto; 
    width: 210px; 
    border: 3px solid #191970; 
    padding: 5px; 
} 
.add__login, .add__password, .sub__btn { 
    display: block; 
    margin: 0 0 5px 0; 
    padding: 5px; 
    width: 95%; 
    border: 1px solid #191970; 
} 
.sub__btn { 
    box-sizing: content-box; 
    color: #FFF; 
    text-transform: uppercase; 
    background: #007DDC; 
} 
.sub__btn:disabled { 
    background: #CCC; 
    color: #999; 
} 
+0

あなたのHTMLは正しくないが、フォームの属性を持つlink要素( '' タグ)à使用しようと、それは正しい方法ではありません。 '

試してください' –
Freez

答えて

0
app.post('/logoutData', function (req, res) { 

    req.logout(); 
    if (req.xhr) { 
    return res.status(204).end(); 
    } 
    return res.redirect("/"); 
}); 
関連する問題