axios:在Laravel中发布带参数的get请求

时间:2017-06-17 21:57:07

标签: laravel laravel-5 laravel-5.4 axios

我正在尝试向laravel路线发布GET请求,但我得到了404(未找到)

ajax call

   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);
}

生成链接

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

1 个答案:

答案 0 :(得分:1)

您正在发送查询参数,而不是原样发送路由参数。 Laravel期待

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

为了匹配。首先构建axios.get(my_url,的网址字符串,然后省略params: {}