Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import React,{Component} from 'react';
- export default class Register extends Component{
- constructor(props){
- super(props);
- this.state = {
- name: '',
- email: '',
- password: '',
- confirm_password: ''
- }
- }
- updateInput = (event) =>{
- const name = event.target.name;
- const value = event.target.value;
- this.setState({[name]: value});
- }
- handleSubmit = (event)=>{
- event.preventDefault();
- fetch('http://incomeexpense.stacklearning.com/api/users', {
- method: 'POST',
- body: JSON.stringify({
- name: this.state.name,
- email: this.state.email,
- password: this.state.password,
- confirm_password: this.state.confirm_password
- }),
- headers: {
- "Content-Type": "application/json",
- "Origin": "localhost:3000",
- }
- }).then(function (response) {
- console.log(response);
- },function (error) {
- console.log(error);
- });
- }
- render(){
- return(
- <div className="limiter">
- <div className="container-login100">
- <div className="wrap-login100 p-l-85 p-r-85 p-t-55 p-b-55">
- <form className="login100-form validate-form flex-sb flex-w" onSubmit={this.handleSubmit}>
- <span className="login100-form-title p-b-32">
- Sign Up
- </span>
- <span className="txt1 p-b-11">
- Name
- </span>
- <div className="wrap-input100 validate-input m-b-36" >
- <input className="input100" type="text" name="name" value={this.state.name} onChange={this.updateInput}/>
- <span className="focus-input100"></span>
- </div>
- <span className="txt1 p-b-11">
- Email
- </span>
- <div className="wrap-input100 validate-input m-b-36">
- <input className="input100" type="text" name="email" value={this.state.email} onChange={this.updateInput}/>
- <span className="focus-input100"></span>
- </div>
- <span className="txt1 p-b-11">
- Password
- </span>
- <div className="wrap-input100 validate-input m-b-36">
- <input className="input100" type="password" name="password" value={this.state.password} onChange={this.updateInput}/>
- <span className="focus-input100"></span>
- </div>
- <span className="txt1 p-b-11">
- Confirm Password
- </span>
- <div className="wrap-input100 validate-input m-b-18">
- <input className="input100" type="password" name="confirm_password" value={this.state.confirm_password} onChange={this.updateInput}/>
- <span className="focus-input100"></span>
- </div>
- <div className="container-login100-form-btn">
- <button className="login100-form-btn">
- Register
- </button>
- </div>
- <div className="flex-sb-m w-full p-b-48 m-t-60 text-center">
- <label>
- Already have an account ?
- <a className="txt3 m-l-5" href="/login">
- Sign In Now
- </a>
- </label>
- </div>
- </form>
- </div>
- </div>
- </div>
- );
- }
- }
- Route::middleware('auth:api')->get('/user', function (Request $request) {
- return $request->user();
- });
- Route::post('users',array( 'middleware'=>'cors','uses'=>'AuthRegisterController@registerUser'));
- Route::get('users',array( 'middleware'=>'cors','uses'=>'AuthRegisterController@getUsers'));
- <?php
- namespace AppHttpMiddleware;
- use Closure;
- class CORS
- {
- /**
- * Handle an incoming request.
- *
- * @param IlluminateHttpRequest $request
- * @param Closure $next
- * @return mixed
- */
- public function handle($request, Closure $next)
- {
- header('Access-Control-Allow-Origin: http://localhost:3000/');
- header('Access-Control-Allow-Credentials: true');
- // ALLOW OPTIONS METHOD
- $headers = [
- 'Access-Control-Allow-Methods'=> 'POST, GET, OPTIONS, PUT, DELETE',
- 'Access-Control-Allow-Headers'=> 'Content-Type, X-Auth-Token, Origin'
- ];
- if($request->getMethod() == "OPTIONS") {
- // The client-side application can set only headers allowed in Access-Control-Allow-Headers
- return Response::make('OK', 200, $headers);
- }
- $response = $next($request);
- foreach($headers as $key => $value)
- $response->header($key, $value);
- return $next($request);
- }
- }
- protected function create(array $data)
- {
- return User::create([
- 'name' => $data['name'],
- 'email' => $data['email'],
- 'password' => bcrypt($data['password']),
- ]);
- }
- protected function registerUser(Request $request)
- {
- $data = $request->all();
- return response()->json($this->create($data));
- }
Add Comment
Please, Sign In to add comment