EGO-LOG

40代2児の父。主にプログラム学習と開発、仮想通貨、メタバース、たまに関係ないことを綴る。

Laravel投稿サイト構築.83 -いいね機能の実装.3(ボタン配置・基礎動作確認)-

前回は、いいね機能実装でコントローラ作成とルーティングの追記。

まだいいね機能の動作確認はできていない。

 

目次

 

基本動作確認

まず、単純にボタンを配置して機能を確認する。

ボタン配置

bladeファイル

-----

<script src="{{ mix('js/index.js') }}"></script>

 

<button onclick="like_theme({{$thread->thread_id}})">いいね</button>

-----

javascript関数作成

jsファイルを追加して非同期で動作する関数を記述する。

-----

<meta name="csrf-token" content="{{ csrf_token() }}">

window.like_theme = function(thread_id) {
  $.ajax({
    headers: {
      "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
    },
    url: `/like_theme/${thread_id}`,
    type: "POST",
  })
  .done(function (data, status, xhr) {
    console.log(data);
  })
  .fail(function (xhr, status, error) {
    console.log();
  });
}

-----

webpack.min.js に追加したファイルを追記する。

-----

mix.js('resources/js/app.js', 'public/js')
    .js( 'resources/js/index.js', 'public/js' )

-----

resourceからpublicフォルダにビルドする。

-----

npm run dev 

-----

データが登録されるところは確認できた。

まとめ

ブログ本体は短いが実はajaxで結構ハマったり。

500エラーが出た場合は処理自体は通ってるのでデバッグできるのになかなか気づけず。

 

次回はいいねを画像に置き換え、いいねの設定と解除、いいねの数表示など実装してみたい。

 

続く