読者です 読者をやめる 読者になる 読者になる

りぺんぎんの書きなぐり技術書

基本、ITの技術について書きます

Laravelでajaxを利用する

Laravelでajax(POST)を利用するときに少し情報を集めたのでまとめる

 

シーン:一覧表示画面においてページアクセス時にajaxで一覧情報を取得する

① route.php へ登録(ココらへんは自分の環境)

Route::any('user/get','User\UserController@getView');

②html(Laravelのblade)のに追加

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

ajax部分を記述したjavascript

function ajax(id) {
 $.ajaxSetup({
  headers: {
   'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
  }
 });
 $.ajax({
   type : "POST",
   //なければ不要(data)
   data: {
    id : id
   },
   //urlは各々の環境に合わせて 
   url : './user/get',
   dataType : "json",
   //通信に成功した場合
   success : function(json) {
    console.log(json);
   },
   //失敗した場合
   error : function(XMLHttpRequest, textStatus, errorThrown) {
    alert("エラーが発生しました:" + textStatus + ":\n" + errorThrown);
   }
 });
};

④Controllerへの記述

<?php
namespace App\Http\Controllers\User;
use Illuminate\Auth\Access\Response;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\User;
use Illuminate\Support\Facades\Auth;
use League\Flysystem\Exception;
use Illuminate\Support\Facades\DB;
class UserController extends Controller
{
 /**
 * ajaxで取得する
 * [getView description]
 * @return {[type]} [description]
 */
 public function getView(){
  //DBdataを取得
  $collections = DB::select('select id,user_name from m_user;');
    return response()->json(
            [
                'data' => $collections
            ],
            200,[],
            JSON_UNESCAPED_UNICODE
        );
 }
}

⑤通信成功を確認したらjsonobjectで一覧表示するだけ

感想:POSTだからtokenを入れないといけないんですねー