我有两个项目在运行
One是前端
其他是后端
前端工程用vue js制作,后端用laravel制作。
我试图通过axios完成一个post请求,但是我得到了csrf令牌不匹配,我不能使用元标记解决方案,因为它们都是不同的项目。
**Route i want to hit**
Route::group(['middleware' => 'auth'], function () {
Route::post('tasks', 'TaskController@store')->name('tasks.store');
});
**my axios call in my vue js project**
addTask:function()
{
this.displayError = false;
if($('.inputs').length > 0)
{
const config ={
onUploadProgress:function(progressEvent)
{
var percentCompleted = Math.round((progressEvent.loaded * 100)/progressEvent.total);
console.log(percentCompleted)
}
}
var form = new FormData();
form.append("title",this.title);
form.append("description",this.txtdesc);
form.append("status_id",this.status_id);
form.append("user_id",this.user_id);
axios.post("http://127.0.0.1:8020/tasks",form,config).then((res)=>{
console.log(res)
})
}else
{
this.displayError = true;
}
}当我启动这个函数将数据发送给控制器时,如果它是一个laravel项目的话,它就会产生csrf令牌错配错误,我可以尝试一下。
加入{{csrf_field()}}的
中添加csrf
但是如何在vue js中这样做
我尝试过删除auth中间件,但是它返回了相同的错误
如果我将路由放置在后端项目中的cerifycsrftoken文件中,它将工作,但我想使用csrf令牌来完成它。
发布于 2021-09-15 06:26:28
我放置了从web.php到api.php的路由,并添加了前缀api,解决了csrf令牌不匹配的问题。
此外,如果我将路由url放在verifyCsrfToken.php文件中,它解决了这个问题,而不将路由移动到api.php
我走了路线
Route::post('tasks', 'TaskController@store')->name('tasks.store');从web .php文件,然后我把它放在api.php文件中。
Route::post('tasks', 'TaskController@store')->name('tasks.store');而且,我也没有在它们上使用中间件
https://stackoverflow.com/questions/69187348
复制相似问题