Я пытаюсь получить список стран с их городами, используя Select2 с Jquery.
Во время создания сообщения с соответствующей страной и городом у меня нет проблем, но вво время редактирования поста я пропускаю следующую ошибку:
http: //imperial.test/dashboard/posts/40/edit/getStates/6 (Not Found)
D: \laragon \ www \ Imperial \ vendor \ laravel \ framework \ src \ Illuminate \ Routing \ RouteCollection.php # 179
Маршруты:
Route::group([
'prefix' => 'dashboard',
'namespace' => 'Admin',
'middleware' => 'auth'],
function(){
Route::get('/', 'AdminController@index')->name('dashboard');
Route::resource('posts', 'PostsController', [
'names' => [
'index' => 'dashboard.posts.index',
'create' => 'dashboard.posts.create',
'store' => 'dashboard.posts.store',
'edit' => 'dashboard.posts.edit',
'update' => 'dashboard.posts.update',
'destroy' => 'dashboard.posts.destroy',
],
]);
Route::get('posts/create/getStates/{id}', 'PostsController@getStates');
Route::get('posts/create/getCities/{id}', 'PostsController@getCities');
Route::get('posts/edit/getStates/{id}', 'PostsController@getStates');
Route::get('posts/edit/getCities/{id}', 'PostsController@getCities');
Route::get('images/posts/{id}/avatar/{image}', [
'uses' => 'PostsController@postProfileAvatar',
]);
});
Мой сценарий
$(document).ready(function(){
$('select[name="country_id"]').on('change',function(){
var country_id = $(this).val();
if(country_id)
{
$.ajax({
url: '/edit/getStates/'+country_id,
type: 'GET',
dataType: 'json',
success: function(data){
console.log(data);
$('select[name="state_id"]').empty();
$.each(data, function(key, value){
$('select[name="state_id"]')
.append('<option value="'+key+'">' + value + '</option>');
});
}
});
} else {
$('select[name="state_id"]').empty();
}
});
$('select[name="state_id"]').on('change',function(){
var state_id = $(this).val();
if(state_id)
{
$.ajax({
url: '/edit/getCities/'+state_id,
type: 'GET',
dataType: 'json',
success: function(data){
console.log(data);
$('select[name="city_id"]').empty();
$.each(data, function(key, value){
$('select[name="city_id"]').append('<option value="'+key+'">' + value + '</option>');
})
}
});
}else {
$('select[name="city_id"]').empty();
}
});
});
N 'в блейде, если путь к сценарию зарегистрирован:
<script src="{{ asset('js/worldedit.js') }}" defer></script>
Любые предложения о том, как решить эту ошибку, я попробовал ее в отдельном проекте, не используя Route :: group и префиксы, и я сделал это с маршрутами GET, и это сработало, поэтому я делаю вывод, что проблема в маршруте ajax