Laravel、Vuejs、axios为登录用户获取帖子
我正试图通过axios将登录用户的任务导入vuejs组件,但我一直在尝试 邮政401(未经授权) 以下是来自api.php的路由:Laravel、Vuejs、axios为登录用户获取帖子,laravel,vue.js,authentication,post,axios,Laravel,Vue.js,Authentication,Post,Axios,我正试图通过axios将登录用户的任务导入vuejs组件,但我一直在尝试 邮政401(未经授权) 以下是来自api.php的路由: Route::group(['middleware' => 'auth:api'], function() { Route::prefix('tasks')->group(function() { Route::post('/', 'TasksController@index'); Route::post('{i
Route::group(['middleware' => 'auth:api'], function() {
Route::prefix('tasks')->group(function() {
Route::post('/', 'TasksController@index');
Route::post('{id}', 'TasksController@single');
Route::post('new', 'TasksController@new');
});
});
任务控制器的索引
功能:
public function index(Request $request) {
if ( $request->ajax() ) {
return auth()->user()->tasks()->orderBy('name', 'ASC')->get();
}
return view('tasks.index')
->with('tasks', auth()->user()->tasks()->orderBy('name', 'ASC')->get());
}
以及vuejs组件:
<template>
<div>
<ul>
<li v-for="task in tasks" v-bind:key="task.id">{{ task.name }}</li>
</ul>
</div>
</template>
<script>
export default {
data() {
return {
tasks: [],
}
},
created() {
this.fetchTasks();
},
methods: {
fetchTasks() {
axios({
url: 'api/tasks',
method: 'POST',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
}).then(res => {
this.tasks = res.data;
});
}
}
}
</script>
- {{{task.name}
导出默认值{
数据(){
返回{
任务:[],
}
},
创建(){
this.fetchTasks();
},
方法:{
fetchTasks(){
axios({
url:“api/任务”,
方法:“POST”,
标题:{
'X-CSRF-TOKEN':$('meta[name=“CSRF-TOKEN”]).attr('content'))
}
})。然后(res=>{
this.tasks=res.data;
});
}
}
}
您使用的是auth:api
中间件,默认情况下这是基于令牌的身份验证,但我看不到您添加任何承载
令牌头
我知道有两种可能的解决方案
如果您想继续使用auth:api
中间件,请请求一个api令牌并在您的请求()中使用它,但最好切换到
就我个人而言,我会使用WebAuth进行此操作(基于会话),在您登录后,将添加会话令牌,您实际上不需要对其做太多操作,因为它将添加到之后的所有调用中
401错误发生在您未经身份验证/登录时。我知道,问题是我已登录。