laravel+react单页面应用提交表单报:419 unknown status,如何解决?

<form
                                    method="POST"
                                    action="/register"
                                >

                                    <TextField
                                        name="name"
                                        label="用户名"
                                        onChange={event => this.setState({name: event.target.value})}
                                        value={this.state.name}
                                        fullWidth
                                        margin="normal"
                                    />
                                    <TextField
                                        name="email"
                                        label="邮箱或手机号"
                                        onChange={event => this.setState({email: event.target.value})}
                                        value={this.state.email}
                                        fullWidth
                                        margin="normal"
                                    />
                                    <TextField
                                        name="password"
                                        label="密码"
                                        type="password"
                                        onChange={event => this.setState({password: event.target.value})}
                                        value={this.state.password}
                                        fullWidth
                                        margin="normal"
                                    />
                                    <TextField
                                        name="password_confirmation"
                                        label="确认密码"
                                        type="password"
                                        onChange={event => this.setState({password_confirmation: event.target.value})}
                                        value={this.state.password_confirmation}
                                        fullWidth
                                        margin="normal"
                                    />
                                    <Button raised color="primary" type="submit">注册</Button>
                                </form>

clipboard.png

阅读 9.1k
3 个回答

这个是 csrf token 判断而来的错误

  • 你可以在 App\Http\Middleware\VerifyCsrfToken 中设置取消CSRF 验证,当然这是不推荐的。

    protected $except = [
        '*'
    ];
  • 表单提交/AJAX请求的时候带上csrf token信息, 参考手册CSRF Protection

既然是单页应用,你的路由还写在web下面吗。可以写在api下面通过token验证也就没有你这个问题了

  • 最近我在开发公众号也遇到类似的问题
  • 其实基于1楼的回答,在文件App\Http\Middleware\VerifyCsrfToken中,配置上忽略的路由就行,比如你接口的路由是/article/index
  • 那么相应的如下:
protected $except = [
    '/article/index',
];
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏