概要
今回は、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');