Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 11.03.2015 00:24:26

Term

Ajax

Здравствуйте,вопрос вот такой:
Есть контроллер:
DirController
в нем есть функция: public function entropyForVariant(). В нем в метод find передается число $variant = Variant::find(3);, мне нужно его получать из представления из
<select name="id_variant">
             @foreach($variant as $var)
<option value="{{$var->id}}">{{$var->id}}</option>
   @endforeach
         </select>
По средствам Ajax получать это число(id) и на основании полученного значения возвращать в представление значение $res

public function entropyForVariant(){
    $variant = Variant::find(3);   
    return $variant;   
}

Помогите пожалуйста, с Ajax работал только на уровне подгрузки контента. Поэтому не знаю,как правильно работать с значениями,которые нужно передавать и роутами в laravel.
Заранее спасибо за ответы.

#2 11.03.2015 09:28:32

Re: Ajax

маршрут для аякс-запроса в ларе точно такой же как для любого другого. проверить что запрос пришёл аяксом можно через PHPRequest::ajax(). чтобы вернуть json из контроллера достаточно вернуть из него массив вместо вида, но можно и явно вернуть PHPnew \Illuminate\Http\JsonResponse( ... )

Не в сети

#3 11.03.2015 10:04:43

Re: Ajax

А можно пример какой-нибудь. с передачей параметра.

Не в сети

#4 11.03.2015 10:22:59

Re: Ajax

TL пишет:

А можно пример какой-нибудь. с передачей параметра.

судя по вопросам, по-моему тебе лучше начать изучение с чего-то вроде http://habrahabr.ru/post/42426/

Не в сети

#5 25.03.2015 13:57:36

Re: Ajax

Может быть где то синтаксические ошибки, писал на ходу, но суть думаю уловил ;)

<script>
  $('#id_variant').change(function(){
    $.ajax({
      type: 'post',
      url: your.url,
      data: {id: $(this).val()},
      success: function(data) {
        // your action with response
      }
    });
  });
</script>
public function entropyForVariant() {
  if(Input::has('id')) {
    $id = Input::get('id');
    $variant = Variant::find($id);
    return Response::json(['success' => true, 'variant' => $variant]);
  }
  return App::abort(400);
}

Изменено lieroes (25.03.2015 13:57:54)

Не в сети

Подвал раздела