419在带有ReactJs的Laravel 5.6中的未知状态

时间:2018-07-21 13:00:19

标签: laravel reactjs react-native laravel-5.6

我已经在Laravel 5.6中实现了Reactjs。提交表单时遇到错误(419状态未知)。

脚本::

myClass.features and myClass.items

路线::

handleSubmit(event) {
  event.preventDefault();
  const products = {
    title: this.state.title,
    body: this.state.body
  }
  let uri = MyGlobleSetting.url + '/products/'+this.props.params.id;
  axios.post(uri, products).then((response) => {
        //this.props.history.push('/display-item');
        browserHistory.push('/display-item');
  });
}

]);

控制器::

Route::post('products/{id}', [
    'uses' => 'ProductController@update'

让我提出我的错误。

1 个答案:

答案 0 :(得分:1)

在布局文件中添加带有csrf令牌的元标记,然后在axios标头中添加csrf令牌

<meta name="csrf-token" content="{{ csrf_token() }}">

在app.js或您的主要js文件中(将令牌添加到axios标头)

let token = document.head.querySelector('meta[name="csrf-token"]');

if (token) {
    window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content;
} else {
    console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token');
}