使用Ajax(Laravel)在控制器内调用PHP方法

使用Ajax(Laravel)在控制器内调用PHP方法,php,angular,ajax,laravel,Php,Angular,Ajax,Laravel,我在我的Laravel项目中有一个名为ClientController的控制器,它工作得非常好。在它里面,我有一个名为listar()的方法,它为我提供客户机的信息 public function listar(Cliente $cliente) { $clientes = DB::table('clientes') ->where('documento_id', 1) ->first(); return $clientes; }

我在我的Laravel项目中有一个名为ClientController的控制器,它工作得非常好。在它里面,我有一个名为listar()的方法,它为我提供客户机的信息

public function listar(Cliente $cliente) {
    $clientes = DB::table('clientes')
        ->where('documento_id', 1)
        ->first();  

    return $clientes;
}
当然,它有一些问题,但我的主要问题是,如何使用Angular或Ajax或任何可以工作的工具从视图调用这个listar()函数

我在一个销售系统工作,我必须在选择任何其他东西之前提供客户信息。我想在我的视图中写入客户端的ID号,并从控制器中获取客户端信息,而无需重新加载。但是我仍然停留在处理listar()函数的过程中


非常感谢。

1。经典的HTML方法

假设页面上有一个按钮:

呼叫!
您可以向Laravel应用程序发送HTTP请求,如下所示:

document.querySelector(“#call listar”).addEventListener('click',(e)=>{
//使用fetch()API发送HTTP请求:
获取('/listar控制器的url')
.then(response=>response.json())
。然后(json=>{
//使用JSON执行您想要执行的操作
});
});

在routes.php文件中添加

Route::post('/cliente', 'Clientecontroller@listar');
现在使用ajax调用向/cliente发送数据,数据将通过clientcontroller中的listar方法发送

$.ajax({
    type: "POST",
    url: '/cliente', 
    data: { id: 7 }
}).done(function( msg ) {
    alert( msg );
});

这个问题得到了回答,欲了解更多详情,请直接回答。

我明白你的意思,但/客户不是一个视图,对吗?”因为我照你说的做了,但现在我有一个404帖子(未找到)错误,这当然不是一个观点。我正在尝试从当前视图中的listar加载数据。