学習備忘ログ

よく使うコードや設定のメモ

ajaxでhtmlレスポンスを取得する方法(ページングも)

  • コントローラ側の処理
public function viewB(Request $request)
{
     if (!$request->ajax()) {
         // ajax以外は許容しない。元の画面にリダイレクト
         return back();
     }
     return response(view('b', [ 'var' => '変数' ])->render());
}
  • jsの処理
$(document).on('click', 'ページングのセクレタ', function(e) {
    e.preventDefault();
    var url = $(e.currentTarget).attr('href');

    $.ajax({
      type: 'GET',
      url: postUrl,
      dataType: 'html',
      data: data,
      success: function(data) {
        removeLoading();
        $(postId).append(data);
        makeStar($('.star-rating-js'));
      },
      error:function() {
        removeLoading();
        alert('システムに問題が発生しました。担当者にお問い合わせください。');
      }
    });
})

ページングしたいときは、urlにページング先のurlを割り当てることがポイント