甚至我在meta标记中提到的CSRF_TOKEN都找不到

时间:2019-10-10 06:23:05

标签: javascript php reactjs laravel

我正在尝试将reactjslaravel集成在一起。 所以我要做的是,通过使用一些命令将js从vue更改为react。 然后,我在Example.js下添加了/resources/js/components文件。 然后我将其添加到app.js

require('./bootstrap');

require('./components/Example');

我的Example.js

import React, { Component } from 'react';
import ReactDOM from 'react-dom';

export default class Example extends Component {
    render() {
        return (
            <div className="container">
                <div className="row justify-content-center">
                    <div className="col-md-8">
                        <div className="card">
                            <div className="card-header">Example Component</div>

                            <div className="card-body">I'm an example component!</div>
                        </div>
                    </div>
                </div>
            </div>
        );
    }
}

if (document.getElementById('example')) {
    ReactDOM.render(<Example />, document.getElementById('example'));
}

然后我在刀片文件中添加了Example.js的组成部分。

<meta name="csrf-token" content="{{ csrf_token() }}">
<div class = "content">
    <div id = "Example" class = "title m-b-d">
    </div>
</div>
<script type = "text/javascript" src = "js/app.js"></script>

但是我无法在刀片文件中获取Example.js组件。 在我的控制台中,出现此错误

  

找不到CSRF令牌:https://laravel.com/docs/csrf#csrf-x-csrf-token

我在这里想念什么?

1 个答案:

答案 0 :(得分:1)

此错误可能是由于bootstrap.js(不是laravel)引起的,它无法在标头中找到正确的元标记。将您的元标记(带有csrf令牌)从<body>移至<head>-这应该可以解决问题。