Получить переменную из JavaScript в контроллер

0

Мне нужно иметь переменную от java-скрипта в моем контроллере. Здесь вы можете увидеть мою функцию ajax

<script>
    $('#spielAuswahl').on('change', function(e){
        console.log(e);

        var spielID = e.target.value;

        //ajax
        $.get('/spieler?spielID=' + spielID, function(data){
            console.log(data);
        });
    });
</script>

И это мой веб-маршрутизатор

Route::get('/spieler', 'SpielerController@getSpieler');

И здесь моя функция контроллера

public function getSpieler(){
        $spielID = Input::get(spielID);
        echo $spielID;
    }

У меня есть эта проблема

jquery.js: 9664 GET http://localhost: 8000/spieler? spielID = 3 500 (Внутренняя ошибка сервера)

Что мне нужно изменить?

  • 0
    пожалуйста, проверьте предварительный просмотр ошибки
  • 0
    Убедитесь, что отчеты об ошибках включены и откройте этот URL, чтобы понять, почему. Или проверьте журналы ошибок. Предлагаю вам прочитать документы для Input::get()
Показать ещё 1 комментарий

2 ответа

0

В коде, который вы указали, отсутствуют некоторые кавычки:

public function getSpieler(){
    $spielID = Input::get('spielID');  // quote 'spielID' here
    echo $spielID;
}

Если вы используете Laravel 5, вы можете использовать запрос:

use Illuminate\Http\Request;

...

public function getSpieler(Request $request) {
    echo $request->spielID;
}

Вы можете узнать более подробную информацию о своей 500 Server Error в журналах веб-сервера, а также о storage/logs/laravel.log.

0

Я не знаю, что вы действительно хотите сделать, но вот решение для передачи значения.

Вы можете назвать свои маршруты, например:

Route::post('/spieler', ['as' => 'spieler', 'uses' => 'SpielerController@getSpieler']);

Ваш jquery:

var token = "{{ Session::token() }}";

$('#spielAuswahl').on('change', function(e){
  console.log(e);

  var spielID = e.target.value;

  $.ajax({
     method: "POST",
     url: "{{ route('spieler') }}",
     data: {id: spielID, _token: token}
  });
}

Наконец, ваш контроллер:

public function getSpieler(Request $request) {
   $id = $request['id'];
   echo $id;
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню