📜  laravel 从控制器发送 post 请求 - PHP (1)

📅  最后修改于: 2023-12-03 15:02:36.109000             🧑  作者: Mango

Laravel 从控制器发送 POST 请求

在 Laravel 中,我们可以轻松地从控制器中发送 POST 请求。本文将介绍如何使用 Laravel 的内置方法来实现此目的。

步骤
步骤 1:定义路由

首先,我们需要定义一个路由来处理我们的 POST 请求。我们可以在 routes/web.php 文件中定义路由:

Route::post('/submit', 'FormController@submit');

上述代码将会将 POST 请求的 URL /submit 映射到名为 FormController 的控制器的 submit 方法。

步骤 2:编写控制器方法

接下来,我们需要编写 FormController 控制器类中的 submit 方法来处理 POST 请求。例如,我们可以在 app/Http/Controllers/FormController.php 文件中编写以下示例代码:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class FormController extends Controller
{
    public function submit(Request $request)
    {
        // 处理表单数据
        $name = $request->input('name');
        $email = $request->input('email');
        
        // 发送邮件
        Mail::to($email)->send(new FormSubmitted($name));
        
        return view('form.submitted');
    }
}

上述代码将会从 $request 对象中获取表单的 nameemail 数据,发送电子邮件并返回 form.submitted 视图。

步骤 3:编写表单视图

最后,我们还需要编写表单视图来允许用户输入数据并将其发送到控制器进行处理。以下是一个示例表单视图代码:

<form action="{{ url('/submit') }}" method="post">
    @csrf
    
    <div>
        <label for="name">Name:</label>
        <input type="text" name="name" id="name">
    </div>
    
    <div>
        <label for="email">Email:</label>
        <input type="email" name="email" id="email">
    </div>
    
    <button type="submit">Submit</button>
</form>

上述代码将会创建一个包含 nameemail 字段的表单,以允许用户输入数据并将其发送到控制器进行处理。

总结

在本文中,我们介绍了如何使用 Laravel 的内置方法来从控制器中发送 POST 请求。我们演示了如何定义路由、编写控制器方法和编写表单视图。希望本文可以帮助你更好地使用 Laravel 进行开发。