Мне нужно иметь переменную от 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 (Внутренняя ошибка сервера)
Что мне нужно изменить?
В коде, который вы указали, отсутствуют некоторые кавычки:
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
.
Я не знаю, что вы действительно хотите сделать, но вот решение для передачи значения.
Вы можете назвать свои маршруты, например:
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;
}
Input::get()