试图使用Angular在Laravel中添加用户,但它显示了一个错误

时间:2019-06-18 15:20:00

标签: json angular laravel

我正在尝试使用HTML表单使用post方法将用户传递给Laravel,以便可以将UserController中的用户存储到数据库中。我收到CSRF Token mismatch错误。

我已使用此方法存储用户:

addUser(user: User):Observable<User>{
     return this.http.post<User>(this.apiURL+'/addUser',user, httpOptions);
}

当我console.log用户时,它工作正常。当我点击提交时,它将显示所有属性。

我已经在Laravel中使用此Route来存储用户:

Route::post('/addUser','UserController@create');

在Controllermethod中,我使用了以下代码:

public function create(Request $request)
    {
        $data2 = $request->json()->all(); 
        return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => Hash::make($data['password']),
        ]);
    }

1 个答案:

答案 0 :(得分:1)

Laravel默认情况下为所有路由启用VerifyCsrfToken中间件。这是出于安全考虑(以避免跨站点攻击),并检查所有请求的CSRF令牌。但是您可以为路由组设置中间件,例如webapi',控制台。

尝试将VerifyCsrfToken中间件从$middleware变量移到web的{​​{1}}变量的$middlewareGroups组。这样,您只为Http/Kernel.php路由启用了此中间件。

希望这会有所帮助。