GET http://url/route?id=clinic_id 404 (не найдено) в AJAX - PullRequest
0 голосов
/ 02 октября 2018

Я показываю таблицу цен на все услуги на моем веб-сайте Laravel.Теперь я хочу изменить таблицу цен в соответствии с выбором из раскрывающегося списка услуг.Вот почему я использую AJAX для вызова своего контроллера в соответствии с раскрывающимся списком изменений услуг и отображения таблицы цен выбранной услуги.

Но я получаю ошибку в AJAX

jquery-3.2.1.min.js: 4 GET http://my_url/route_name?id=clinic_id 404 (не найдено)

HTML

<form id="check_pricelist_form" method="get">
   <select class="form-control search_pricelist_Field col-md-4" id="clinic_id_pricelist" name="clinic_id">
       <option value="0">All</option>

       @if(count($_SESSION['clinic']) > 0)

          @foreach($_SESSION['clinic'] as $data)    
              <option value="{{ $data->id }}">{{ $data->name }}</option>
          @endforeach

       @endif

   </select>
</form>

Скрипт

$( "#clinic_id_pricelist" ).change(function() {
        var clinic_id = $('#clinic_id_pricelist').val();

        $.get('clinic-price-list', { id: "clinic_id"}, //getting error in this line
        function(returnedData){
             console.log(returnedData);
        });

    });

Маршрут

Route::get('/clinic-price-list/{name}','PriceListController@detail');

Как это решить?Заранее спасибо

Ответы [ 3 ]

0 голосов
/ 02 октября 2018
$.get(`clinic-price-list/${clinic_id}`, 
    function(returnedData){
         console.log(returnedData);
    });

вам нужно вписать название в маршрут.используйте ``, а не "" или ''

0 голосов
/ 02 октября 2018

Убедитесь, что ваш маршрут работает.Можете ли вы перейти непосредственно к http://my_url/route_name?id=clinic_id?

Если он работает, убедитесь, что URL-адрес вашего запроса правильный.

$ ("# clinic_id_pricelist"). Change (function () {

var clinic_id = $('#clinic_id_pricelist').val();
var url = "/my_url/route_name";     //  <- CHANGE THIS TO THE CORRECT URL
$.get(url, {
    id: clinic_id                           
}, function (returnedData) {
    console.log(returnedData);
});

});

0 голосов
/ 02 октября 2018

Попробуйте с

$.get('clinic-price-list/clinic_id', //getting error in this line
    function(returnedData){
         console.log(returnedData);
    });

Опция 1

Передача в качестве параметра запроса

Если вы передаете clinic_id - параметр get, ваш URL долженбыть как http://url/clinic-price-list?id=clinic_id.

Контроллер

public function detail(Request $request){
  $id = $request->input('id');

Маршрут

Route::get('/clinic-price-list','PriceListController@detail');

JS

$.get('clinic-price-list', { id: "clinic_id"},

Опция 2

Передача в качестве параметров URL

Если вы передаете идентификатор клиники в качестве параметра URL, ваш URL должен бытькак http://url/clinic-price-list/clinic_id

Контроллер

public function detail(Request $request,$id){
  //$id is the clinic_id

Маршрут

Route::get('/clinic-price-list/{name}','PriceListController@detail');

JS

$.get('clinic-price-list/clinic_id',
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...