![](/img/trans.png)
[英]Laravel Vue POST to api uses web route instead of api route
[英]why is my api request going to web route instead of api route? Laravel 5.5.33
我試圖在后端使用Vuejs和Laravel設置SPA,從而將網絡路由配置為接受所有路徑並返回主頁,但是
我用axios提出的所有ajax請求
signin(context, data) {
axios.post(`${this.base_url}/api/signin`,data)
.then(response => {
context.error = false
localStorage.setItem('id_token', response.data.meta.token)
this.user.authenticated = true
this.user.profile = response.data.data
router.push({
path: '/'
})
}).catch(errors => {
console.dir(errors.response.data)
context.errors = errors.data
context.error = true
})
},
要去laravel網絡路線
<?php Route::any('{all}', function () {return view('index'); })->where(['all' => '.*']);
代替api路由
Route::group(['middleware' => ['api']], function () {
Route::post('/api/register', [
'uses' => 'Auth\AuthController@register',
]);
Route::post('/api/signin', [
'uses' => 'Auth\AuthController@signin',
]);
Route::group(['middleware' => 'jwt'], function () {
Route::get('/user', [
'uses' => 'UserController@index',
]);
});
});
請誰能向我解釋為什么會這樣?
請從route / web.php文件中刪除api路由,並將其放置在routes / api.php文件中
Route::post('/api/register', [
'uses' => 'Auth\AuthController@register',
]);
Route::post('/api/signin', [
'uses' => 'Auth\AuthController@signin',
]);
Route::group(['middleware' => 'jwt'], function () {
Route::get('/user', [
'uses' => 'UserController@index',
]);
});
您的web.php應該只包含
Route::any('{all}', function () {return view('index'); })->where(['all' => '.*']);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.