Как использовать отношения ajax с laravel? - PullRequest
0 голосов
/ 06 июля 2018

В Laravel для связи с ajax в файле blade.php, например:

{{ foreach($schhols as $school) }}
    <td>{{ $school->user->name }}</td>
    <td>{{ $school->user->address}}</td>
    <td>{{ $school->user->country}}</td>
{{ endforeach }}

а вот в ajax с laravel как это сделать?

function load() {
    $.get('/read', function (data){
        $('#data').html("");
        $.each(data, function (key, val) {
            $('#data').append("<tr>"+
                "<td>"+val.id+"</td>"+
                "<td id='ename'>"+val.name+"</td>"+
                "<td id='eaddress'>"+val.address+"</td>"+
                "<td id='ecountry'>"+val.country+"</td>"+
                "<td>"+
                    "<button class='btn btn-warning' id='edit' data-id="+val.id+">Edit</button>"+
                    "<button class='btn btn-danger' id='delete' data-id="+val.id+">Delete</button>"
                +"</td>"+
            +"</tr>")
        });
    });
}

Это случится?

"<td id='ename'>"+val.user.name+"</td>"+
"<td id='eaddress'>"+val.user.address+"</td>"+
"<td id='ecountry'>"+val.user.country+"</td>"+

1 Ответ

0 голосов
/ 06 июля 2018

в вашем контроллере

public function read(Request $request){
  $schhols = Schhol::get();

  // if ajax request return response in json 

  if($request->ajax()){
     return response()->json($schhols);
  }else{

   // else return data to view

     return view('schhol_view',compact('schhols'))
   }
}

если вы отправляете ajax-запрос из внешнего интерфейса:

 <script>
    function load() {
            $.ajax({
                 url: '/read',
                 type:'GET',
                 dataType:'json',
                 contentType:'application/json',
                 success:function (data){
                    $('#data').html("");
                    $.each(data, function (key, val) {
                    $('#data').append("<tr>"+
                        "<td>"+val.user.id+"</td>"+
                        "<td id='ename'>"+val.user.name+"</td>"+
                        "<td id='eaddress'>"+val.user.address+"</td>"+
                        "<td id='ecountry'>"+val.user.country+"</td>"+
                        "<td>"+
                            "<button class='btn btn-warning' id='edit' data-id="+val.user.id+">Edit</button>"+
                            "<button class='btn btn-danger' id='delete' data-id="+val.user.id+">Delete</button>"
                        +"</td>"+
                    +"</tr>")
                },error:function(err){
                    console.log('Error loading data');
                 }
            });
        }
    </script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...