Tuesday, 2 May 2017

reactJs How to pass session to reactJs which are creacted at server side using nodeJS and Express.

i want pass my session which is created at server side using nodeJs+express to reactJs. and how to redirect to next page after session created. at client side in react js i have used axios to post data here is my code

i want to redirect with to todoapp.jsx with session after session created

app.jsx

ar React = require('react');
var ReactDOM = require('react-dom');
//var firebase,{firebaseRef}= require('index');
var RegistrationForm = require('RegistrationForm');
var Main = require('Main');
var Login = require('Login');
//var Demo=require('Demo');
var TodoApp=require('TodoApp');
var {Route, Router, IndexRoute, browserHistory} = require('react-router');
require('style-loader!css-loader!foundation-sites/dist/foundation.min.css')
require('style-loader!css-loader!sass-loader!AppScss')
require('style-loader!css-loader!AppCss')

$(document).foundation();
ReactDOM.render(
  <Router history={browserHistory}>
    <Route path="/" component={Main}>
        <Route path="RegistrationForm" component={RegistrationForm}/>

        <Route path="todoapp" component={TodoApp}/>
        <IndexRoute component={Login}/>
    </Route>
  </Router>, 
  document.getElementById('app')
);

login.jsx

 if(validForm){
                    axios.post("/login",
                    {
                        email:this.state.strEmail,
                        password:this.state.strPassword
                        }).then(function(response)
                        {

                            console.log("Login error");
                            browserHistory.push('/todoapp')//to redirect todoapp with session
                        });
                }
            },

server.js

app.post('/login',function(request,response){
  var user=request.body;
  var userEmailId=request.body.email;//get email id
  //console.log("user email "+userEmailId);
  var userPassword=request.body.password;//get password
  //console.log("login...");
  var sql= "SELECT full_name,email,password FROM "+TBL_REGISTRATIONFORM+" WHERE email = '" + userEmailId + "' AND password = '" + userPassword + "';";
  connection.query(sql,function(error,rows,fields){
      //console.log(query);
      if(error){
        throw error;
      }
      /*else{
        console.log("login successfully");
      }*/
     else if(rows.length !== 0){
      console.log(rows);
      console.log("login successfully");
      var session = request.session;//session start
      var userName=rows[0].full_name;
      //console.log("name:  "+userName);
      request.session.userName = userName;//set username session
      var session=request.session.userName;
      console.log(session);
      if(session){
        console.log("ok");
         return response.redirect('/todoapp' +session);**// i want to redirect next page i.e todoapp.jsx with session**
         response.send(session);
        return response.redirect('/login');
      }
      else{
        console.log("no");
      }
      //connection.end();
    }
    // else{
    //   console.log('Username or password is incorrect...');
    // }

    });
});



via vaishnavi aher

No comments:

Post a Comment