Ajaxでgetリクエストを送信 | Laravel

Laravel

ajaxでpostリクエストを送信については前回書きましたが、
今回はGETリクエストを。

ほぼコピペでいけるかと思ったらパラメーターの受け取り方で少し詰まったのでメモ。

Route定義

Routeにはこのように記述しています。

Route::get('/get-ajax', [TweetController::class, 'ajax']);

JSの記述

JSファイルはこんな感じ

//selectタグで新しい値が選択されたら

  $.ajax({
    headers: {
      'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'),
    },
    url: '/get-ajax',
    type: 'GET',
    data: {
      'destination': destination // ここで書いた値が?以降のパラメーターとなる
    },
    dataType: 'json',
  })
    .done(function (result) {
      console.log("success");
      console.log(result);
    })

    .fail(function () {
      console.log("failed");
    })

これで、ajax処理が走ると

//GETリクエスト
/get-ajax?destination=okinawa

こんなurlでGETリクエストが送信されます。

PHP側の記述

最後はコントローラーの処理です。$request に渡したデータが入っています。

//Controller
 public function ajax(Request $request)
    {  
         dd($request->destination);  // jsから渡した値が取得できる
         ......
    }

あとはjsonでJSに返すなどご自由にどうぞ!

タイトルとURLをコピーしました