Я использую ajax для публикации выбранного значения. Он отлично работает со следующим кодом.
И я хочу отделить файл jvascript от index.blade.php .
web.php
Route::get('Homepage', function (){
return view('frontend.index');
});
Route::post('Homepage/filter', 'Frontend\ImgListController@filter')
->name('Homepage.filter');
контроллер
function filter(Request $request)
{
$get_Model = $request->get('Model');
Log::debug($get_Model);
}
Если у меня есть мой код «просмотра», подобный приведенному ниже, выбранное значение может быть корректно отправлено в URL: «{{route ('Homepage.filter')}}».
index.blade.php
<html>
<head></head>
<body>
<div class="form-group">
<select name="Model" id="Model">
<option value="">Select Model</option>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<button class="btn" onclick="Fun();">submit</button>
</div>
{{ csrf_field() }}
<script src="{{ asset('jquery/jquery.min.js') }}"></script>
</body>
</html>
<script>
function Fun() {
if ($('#Model').val() != '') {
var model_value = $('#Model').val();
$.ajax({
url: "{{ route('Homepage.filter') }}",
type: "POST",
data: {
Model: model_value,
_token: '{{csrf_token()}}'
},
success: function (result) {
//
}
})
}
}
</script>
Однако, когда я пытаюсь добавить это <script type="text/javascript" src="{{ URL::asset('js/jquery.js') }}"></script>
в index.blade.php , и независимо от файла jvascript (public \ js \ JS.js).
Я получил бы сообщение об ошибке ниже.
POST http://localhost:8888/%7B%7B%20route('Homepage.filter')%20%7D%7D
404 (не найдено)
index.blade.php (изменен и где-то не так)
<html>
<head></head>
<body>
<div class="form-group">
<select name="Model" id="Model">
<option value="">Select Model</option>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<button class="btn" onclick="Fun();">submit</button>
</div>
{{ csrf_field() }}
<script src="{{ asset('jquery/jquery.min.js') }}"></script>
<script type="text/javascript" src="{{ URL::asset('js/JS.js') }}"></script>
</body>
</html>
1038 * Javascript *
function Fun() {
if ($('#Model').val() != '') {
var model_value = $('#Model').val();
$.ajax({
url: "{{ route('Homepage.filter') }}",
type: "POST",
data: {
Model: model_value,
_token: '{{csrf_token()}}'
},
success: function (result) {
//
}
})
}
}
Маршрут {{route ('Homepage.filter')}} неверен? Или что-нибудь еще? Что я могу сделать, чтобы исправить это? Спасибо!