как создать загрузочный удаленный поиск данных в Laravel 5.2?

#php #laravel #laravel-5.2 #jquery-select2

#php #laravel #laravel-5 #jquery-select2

Вопрос:

Этот веб-сайт предназначен для бронирования отеля после пользовательского поиска, чтобы увидеть город и отель.

Я хочу использовать загрузку удаленных данных select2 в laravel 5.2.

Примеры на Github: https://select2.github.io/examples.html#data-ajax

Модель City :

 protected $fillable = [
    'name', 'state', 'country', 'status'
];
  

Модель Hotel :

 protected $fillable =[
    'name', 'address', 'phone', 'status', ...
];
  

HTML:

 <select class="js-data-example-ajax">
   <option value="3620194" selected="selected">select2/select2</option>
</select>
  

Скрипт:

 $(".js-data-example-ajax").select2({
ajax: {
url: "https://api.github.com/search/repositories",
dataType: 'json',
delay: 250,
data: function (params) {
  return {
    q: params.term, // search term
    page: params.page
  };
},
processResults: function (data, params) {
  // parse the results into the format expected by Select2
  // since we are using custom formatting functions we do not need to
  // alter the remote JSON data, except to indicate that infinite
  // scrolling can be used
  params.page = params.page || 1;

  return {
    results: data.items,
    pagination: {
      more: (params.page * 30) < data.total_count
    }
  };
},
cache: true
},
escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
minimumInputLength: 1,
templateResult: formatRepo, // omitted for brevity, see the source of this page
templateSelection: formatRepoSelection // omitted for brevity, see the source of this page
});
  

Как выполнить запись Laravel controller после отправки данных из ajax ?

Ответ №1:

HTML:

 <select id="hotel" name="hotel">
     <option value="hotel1">Hotel1</option>
     <option value="hotel2">Hotel2</option>
</select>
  

Jquery и Ajax:

 $(document).on('click','#hotel',function(e)
{
    e.preventDefault();
    var name=$(this).val('hotel');

    $.ajax({
        type:"POST",
        url: "{{url('/controller/search')}}",
        data: {
        "_token": "{{ csrf_token() }}"
        },
        success: function (data) {
            var res = $.parseJSON(data);
            if(res == true)
            {   
                  alert('ok');
            }
        }
    });
});
  

Контроллер Laravel:

 public function search(Request $request)
{
   $hotel=Hotel::where(['name',$request->name])->first();
   return Response::json(array('status'=>TRUE,'hotel'=>$hotel)); 
}
  

Комментарии:

1. Большое вам спасибо, Но я хочу посмотреть после совместного поиска город и отель