Advertisement
Guest User

Untitled

a guest
Jan 11th, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Login -ui
  2. var Login = React.createClass({
  3.     getInitialState: ()=> {
  4.         console.log("Login getInitialState");
  5.         return {
  6.             username: '',
  7.             password: ''
  8.         }
  9.     },
  10.     handleUsernameOnChange: function (e) {
  11.         this.setState({username: e.target.value});
  12.     }, handlePasswordOnChange: function (e) {
  13.         this.setState({password: e.target.value});
  14.     }, handleSubmit: function (e) {
  15.         e.target.action = 'app.html';
  16.         e.target.method = 'get';
  17.         this.props.service.login(this.state.username, this.state.password)
  18.             .then(json=> {
  19.                 console.log("should go to next page");
  20.             })
  21.             .catch(error=> {
  22.                 console.error(error);
  23.                 alert('Invalid username or password');
  24.             });
  25.     }, render: function () {
  26.         return (
  27.             <div style={{padding:100}}>
  28.                 <center>
  29.                     <form onSubmit={this.handleSubmit}>
  30.                         <input type="text" placeholder="Username" value={this.state.username}
  31.                                onChange={this.handleUsernameOnChange}/>
  32.                         <br/>
  33.                         <input type="password" placeholder="Password" value={this.state.password}
  34.                                onChange={this.handlePasswordOnChange}/>
  35.                         <br/>
  36.                         <input type="submit" value="Login"/>
  37.                     </form>
  38.                 </center>
  39.             </div>
  40.         );
  41.     }
  42. });
  43. var service = function () {
  44.     var url = "http://localhost:8080/api/login";
  45.     //var url = "http://192.168.0.101:8080/api/login";
  46.     return {
  47.         login: (username, password)=> {
  48.             console.log("called login");
  49.             var req = {method: 'GET'};
  50.             req.headers = new Headers({
  51.                 'Content-Type': 'application/json',
  52.                 Authorization: " Basic " + btoa(username + ":" + password)
  53.             });
  54.             //return a promise
  55.             return fetch(url, req).then(res=> {
  56.                 if (res.ok) {
  57.                     console.log("managed to login");
  58.                     return res.json();
  59.                 } else {
  60.                     console.log("error at login");
  61.                     throw new Error(res.status);
  62.                 }
  63.             });
  64.         }
  65.     }
  66. }();
  67. ReactDOM.render(
  68.     <Login service={service}/>,
  69.     document.getElementById('login')
  70. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement