https://github.com/axios/axios
Įdiegiame axios į React:
npm install axios
/resources/aaets/js/components/App/js
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import axios from 'axios';
class App extends Component {
constructor(props){
super(props);
this.state ={
body:''
}
// bind
this.handleSubmit = this.handleSubmit.bind(this);
this.handleChange = this.handleChange.bind(this);
}
handleSubmit(e){
e.preventDefault(); //stop refresh after submit
this.postData();
console.log(this.state.body);
}
postData(){
axios.post('./posts',{
body: this.state.body
});
}
handleChange(e){
this.setState({
body: e.target.value
})
}
render() {
....
Laravel: reikia pasiruošti routa post užklausai
Kuriame naują kontrolerį:
php artisan make:controller PostController
route tvarkome routą:
/routes/web.php
Auth::routes();
Route::group(['middleware' => ['auth']], function(){
Route::get('/', 'TimelineController@index');
Route::get('/home', 'TimelineController@index');
Route::post('/posts', 'PostController@create');
//post užklausa kvies PostController konroleyje esantį modelį create
});
ir galiausiai kontrolerį:
/app/Http/Controller/PostController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class PostController extends Controller
{
public function create(Request $reqest){
return 'post will be created';
}
}
Rezultate siunčiame duomenis:
Ir gautas atsakymas:
Įdiegiame axios į React:
npm install axios
/resources/aaets/js/components/App/js
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import axios from 'axios';
class App extends Component {
constructor(props){
super(props);
this.state ={
body:''
}
// bind
this.handleSubmit = this.handleSubmit.bind(this);
this.handleChange = this.handleChange.bind(this);
}
handleSubmit(e){
e.preventDefault(); //stop refresh after submit
this.postData();
console.log(this.state.body);
}
postData(){
axios.post('./posts',{
body: this.state.body
});
}
handleChange(e){
this.setState({
body: e.target.value
})
}
render() {
....
Laravel: reikia pasiruošti routa post užklausai
Kuriame naują kontrolerį:
php artisan make:controller PostController
route tvarkome routą:
/routes/web.php
Auth::routes();
Route::group(['middleware' => ['auth']], function(){
Route::get('/', 'TimelineController@index');
Route::get('/home', 'TimelineController@index');
Route::post('/posts', 'PostController@create');
//post užklausa kvies PostController konroleyje esantį modelį create
});
ir galiausiai kontrolerį:
/app/Http/Controller/PostController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class PostController extends Controller
{
public function create(Request $reqest){
return 'post will be created';
}
}
Rezultate siunčiame duomenis:
Ir gautas atsakymas:
Komentarai
Rašyti komentarą