簡體   English   中英

為什么我的api請求轉到網絡路由而不是api路由? Laravel 5.5.33

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM