Php 使用Ajax和Laravel从数据库检索信息

Php 使用Ajax和Laravel从数据库检索信息,php,ajax,laravel,Php,Ajax,Laravel,我正在使用MVC概念从传统的PHP迁移到Laravel框架。我希望能够根据下拉列表框中的选择从数据库中获取数据。我不断地发现这个错误: 很抱歉,找不到您要查找的页面。 1/1 NotFoundHttpException 请参阅我的代码: 路由文件: Route::get('/process-grpid','PagesController@processgrpid'); 我的控制器操作代码: public function processgrpid($pno){ $pno = $

我正在使用MVC概念从传统的PHP迁移到Laravel框架。我希望能够根据下拉列表框中的选择从数据库中获取数据。我不断地发现这个错误: 很抱歉,找不到您要查找的页面。 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;       
    }
我的查看页面:


我不知道我做错了什么。我已经检查了stackoverflow,但没有一个能满足我的需要。我只想根据partno的下拉列表从数据库中获取库存项目的描述。请帮助我查看并相应地指导我。

您在通过ajax请求调用route时犯了一个小错误

将url:/processgrpid更改为url:/process grpid

原因:正如您定义的路线

Route::get('/process-grpid','PagesController@processgrpid');
所以现在公共url将是进程grpid,而不是控制器函数processgrpid

还将控制器功能更新为:

public function processgrpid(Request $request) {
    $pno = $request->get('pno');
    $det = Stock::where('itemName', $pno)->get();
    return $det;
}
您应将$request传递给控制器,如下所示:

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

当Ajax调用processgrpid时,您的路径是processgrpid非常感谢。它起作用了。请问,如何获取输入字段中显示的描述值:我已经解析了结果,如var det=Json.parsedata,并且我可以看到带有键值配对的Json对象,如何在输入字段中显示值$desc.html;试试这个:$desc.html。用det变量中的实际标签替换label_name。@Locepreet Singh:我尝试过,但在输入字段中没有显示任何内容。我尝试过,但在输入字段中没有显示任何内容。我还在顶部添加了这个:var data=JSON.parsedatavar数据中的值是什么;
public function processgrpid(Request $request){
        $pno = $request->pno;
        $det = Stock::where('itemName',$pno)->get();
        return $det;       
    }