#php #ajax #laravel #parameters #laravel-7
#php #ajax #laravel #параметры #laravel-7
Вопрос:
У меня есть список соревнований в моей опции выбора,
Мне нужно знать, как заставить эту функциональность работать,
Когда пользователь выбирает соревнование, страница должна перезагрузиться с данными о соревновании,
Это опция выбора в моем блейде
<div class="row pt-3">
<div class="col">
<select name="competition" id="competitionSearch" class="select listing pt-2 pb-2" >
<option value="">Select Competition</option>
@foreach ($allCompetitions as $competition)
<option value="{{ $competition->id }}"> {{ $competition->name }}</option>
@endforeach
</select>
</div>
</div>
вот как это выглядит
это метод ajax get, который я использовал
$(document).ready(function(){
$('#competitionSearch').change(function(){
var compid = $(this).val();
if(compid > 0){
fetchRecords(compid);
}
});
});
function fetchRecords(id){
$.ajax({
url: 'detailed-registrations/getCompetitionAjax/' id,
type: 'get',
success: function(response){
if (response) {
//load selected competition here
}
}
});
}
Мои маршруты
Route::get('competitions/{competition}/detailed-registrations/getCompetitionAjax/{id}','CompetitionController@getCompetitionAjax');
Моя функция в контроллере
public function getCompetitionAjax($competition, $id, Request $request)
{
$comp = $this->competitionsRepo->findOrFail($id);
return redirect(route('competitions.detailed-registrations',$id))->with('comp',$comp);
}
Мне нужно знать, как я могу заставить эту функциональность работать
изначально пользователь будет находиться на странице конкурса
http://127.0.0.1:8000/competitions/1/detailed-registrations
как только он выбирает соревнование, 2 перенаправляется на страницу соревнований с отфильтрованными параметрами запроса как
http://127.0.0.1:8000/competitions/2/detailed-registrations?filters=visibleamp;age=allamp;gender=all
Комментарии:
1. Вы должны вернуть json для метода getCompetitionAjax и использовать ответ в js
Ответ №1:
Не думаю, что вам нужен вызов ajax для перенаправления пользователя на другую страницу при выборе конкурса, вы можете перенаправить с javascript
$(document).ready(function(){
$('#competitionSearch').change(function(){
var compid = $(this).val();
if(compid > 0){
//Redirect the user to the page which will show the selected details
location = 'competitions/' id '/detailed-registrations?filters=visibleamp;age=allamp;gender=all';
}
});
});
А затем пусть метод контроллера Laravel обрабатывает запрос на соревнования по маршруту.подробно-регистрации