Метод $ .get ajax не работает для штата и города в laravel

Я хочу получить доступ к городу по его состоянию. Этот метод работал до обновления Laravel 5.7. Теперь не работает

это ошибка, которую я получил:

jquery-3.3.1.js:9600 GET http://localhost/PTC/public/ajax-city=5 404 (Not Found)

web.php

Route::get('ajax-city','IndexController@ajaxCities')->name('ajax-city');
public function ajaxCities()
    {
        $state_id = Input::get('state_id');
        $cities   = City::where('state_id', '=', $state_id)->get();
        return response()->json($cities);
    }

мой взгляд:

<form id = "accountForm" name = "accountForm" action = "{{route('profile')}}" method = "post">
                            @csrf
    <select class = "form-control" id = "state" name = "state_id" type = "text" placeholder = "استان">
    <option value = "{{$userDetails->state_id ?? ''}}">{{$userDetails->state->title ?? 'انتخاب استان'}}</option>
     @foreach($states as $state)
        <option value = "{{$state->id}}">{{$state->title}}</option>
     @endforeach
   </select>
   <select class = "form-control" id = "city" name = "city_id">
       <option value = "{{$userDetails->city_id ?? ''}}">{{$userDetails->city->title ?? 'انتخاب شهر'}}</option>
   </select>
 <button type = "submit" class = "btn iren-btn btn-block mt-1 mb-2">ثبت</button>
                        </form>

и скрипт:

<script>
        //City choose
        $().ready(function () {
            $('#state').on('change', function (e) {
                var state_id = e.target.value;

                //AJAX
                $.get('ajax-city?state_id=' + state_id, function (data) {
                    //success data
                    $('#city').empty();
                    $.each(data, function (index, cityObj) {
                        $('#city').append('<option value = "' + cityObj.id + '">' + cityObj.title + '</option>')
                    });
                });
            });
        });
    </script>
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
0
0
370
1

Ответы 1

Попробуй это:

В файле "routes / web.php":

    Route::get('ajax-city/{state_id}', 'IndexController@ajaxCities')
    ->where('state_id', '[0-9]+')
    ->name('ajax-city');

В «app / Http / Controllers / IndexController.php»:

public function ajaxCities(Request $request)
{

    $state_id = $request->state_id;
    $cities   = City::where('state_id', '=', $state_id)->get();
    return response()->json($cities);
}

И меняем скрипт:

<script>
    //City choose
    $().ready(function () {
        $('#state').on('change', function (e) {
            var state_id = e.target.value;

            //AJAX
            $.get('ajax-city/' + state_id, function (data) {
                //success data
                $('#city').empty();
                $.each(data, function (index, cityObj) {
                    $('#city').append('<option value = "' + cityObj.id + '">' + cityObj.title + '</option>')
                });
            });
        });
    });
</script>

Другие вопросы по теме