axios: post 带有 Laravel 参数的获取请求

axios: post a get request with parameters in Laravel

我正在尝试 post 对 laravel 路由的 GET 请求,但我收到 404(未找到)

ajax 致电

   axios.get('/statisticsJSON', {
        params: {
          annee: 2017,
          mois: 06,
          jour: 15,
        }
      })
      .then(function (response) {
        console.log('Les donnees via ajax');
        console.log( response.data);
      })
      .catch(function (error) {
        console.log(error);
      });

web.php

Route::get('/statisticsJSON/{annee}/{mois}/{jour}', 'EmploiController@showStatisticsJSON')
   ->name('statsJSON')
   ->where('annee', '^(19|20)\d{2}$')
   ->where('mois', '^(19|20)\d{2}$')
   ->where('jour', '^(19|20)\d{2}$');

控制器

public function showStatisticsJSON(Request $request, $annee=null, $mois=null, $jour=null)
{
    //
    $annee = $request->get('annee');
    $mois = $request->get('mois');
    $jour = $request->get('jour');
    $emplois = Emploi::whereYear('POSTDATE', '=', $annee)
          ->whereMonth('POSTDATE', '=', $mois)
          ->whereDay('POSTDATE', '=', $jour)
          ->get();
    return response()->json(emplois ,200,[],JSON_PRETTY_PRINT);
}

link 生成

http://localhost:8000/statisticsJSON?annee=2017&mois=6&jour=15

您发送的是查询参数,而不是路由参数。 Laravel 预计

http://localhost:8000/statisticsJSON/2017/6/15

以便匹配。首先为 axios.get(my_url, 构建 url 字符串并省略 params: {}.