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を割り当てることがポイント