Получить информацию из базы данных, используя Ajax с Laravel - PullRequest
0 голосов
/ 04 июля 2018

Я только что перешел с традиционного PHP на фреймворк Laravel, используя концепцию MVC. Я хочу иметь возможность извлекать данные из базы данных на основе выбора, сделанного из выпадающего списка. Я продолжаю получать эту ошибку: " Извините, страница, которую вы ищете, не может быть найдена. (1/1) NotFoundHttpException ".

Смотрите мой код: Файл маршрута:

Route::get('/process-grpid','PagesController@processgrpid');

Код действия моего контроллера:

public function processgrpid($pno){
        $pno = $request->get('pno');
        $det = Stock::where('itemName',$pno)->get();
        return $det;       
    }

страница моего просмотра:

<script type="text/javascript">
$(document).ready(function() { 
    $("select.partno").change(function(){
        var selectedPno = $(".partno option:selected").val();
       $.ajax(
           {
               type: "get",
                url:"/processgrpid",
               data:{pno:selectedPno},

               success:function(data){
                  // var det = JSON.parse(data);
                $("#desc").html('<input type="text"  placeholder="Enter Item Description" class="form-control" name="descr" required="required"/>');
               }
            }
        );

    });
});
    </script>


 <table>
     <tr>
              <th>Item Code/Part NO:</th>
                <td>
                <select name="partno" class="partno form-control">
                <option>Select PartNo</option>
                <option value="N/A">N/A</option>
                @foreach($pstock as $stock)
                <option value="{{ $stock->itemName }}">{{ $stock->itemName }}</option>
                @endforeach
                </select></td>
                 <th>Description:</th>
                  <td id="desc"></td></tr>
                 <tr>
    </table>

Я не знаю, что делаю не так. Я проверил stackoverflow, но ни один из них не отвечает моим потребностям. Все, что я хотел, это получить описание товара из базы данных на основе выпадающего списка partno. Пожалуйста, помогите мне выглядеть и вести меня соответственно.

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

вы должны передать $request вашему контроллеру, как показано ниже:

public function processgrpid(Request $request){
        $pno = $request->pno;
        $det = Stock::where('itemName',$pno)->get();
        return $det;       
    }
0 голосов
/ 04 июля 2018

Вы допустили небольшую ошибку при вызове маршрута через ajax-запрос.

Изменить url:"/processgrpid" на url:"/process-grpid".

Причина: Как вы определили маршрут как

Route::get('/process-grpid','PagesController@processgrpid');

Так что теперь общедоступный URL будет process-grpid вместо функции контроллера processgrpid.

Также обновите функцию контроллера как:

public function processgrpid(Request $request) {
    $pno = $request->get('pno');
    $det = Stock::where('itemName', $pno)->get();
    return $det;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...