概要

今回は、laravelとjqueryでajax(GETメソッド)の基本コードをメモがてら共有

流れ

ajaxの処理の流れ
View→js→ルート→コントローラー→js→View

コード

View

$dayには日付が入っています!
<td class="ajaxbtn" title="{{route('AjaxDayDate',[$day])}}">
  <p>$day</p>
</td>

解説

class="ajaxbtn"はjsファイルにて発火用
第一引数にルート 第二引数にデータ GETの場合は基本的に一つのデータのみ
title="{{route('AjaxDayDate',[$day])}}"

jsファイル(解説付き)

$(document).on('click','.ajaxbtn', function(){
    //送られてきたデータを入る
    let a=$(this);
    $.ajax({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        },
        //post or getが入る
        type: "get", 
        url: a.attr('title'),
        //↑title属性のルートと値が入ってくる
        //イメージはこんな感じ↓
        //http://127.0.0.1:8000/daypage/9
    })
    //通信が成功したとき
    .done((res)=>{
    console.log(res);
    })
    //通信が失敗したとき
    .fail((error)=>{
        console.log('通信失敗');
    })
});

コンローラー

//$dayにはjsファイルにてtitle属性でルートと一緒に送られてきたデータ
    public function daypage($day)
{

    return "ここまできた".$day; 
}

ルート

Route::get('/daypage/{day}', 'daypage')->name('AjaxDayDate');