【问题标题】:HTML form does not submit correctlyHTML 表单未正确提交
【发布时间】:2019-08-31 01:10:10
【问题描述】:

我在后端使用 Laravel。
这不起作用

 <form action="/promo/update" style="background-color: #fafafa" method="GET">

这行得通

<form action="/promo" style="background-color: #fafafa" method="GET">

关于使用 GET 和额外的“/”有什么问题吗?

【问题讨论】:

    标签: html laravel forms


    【解决方案1】:

    .. 使用 GET 和额外的“/”有什么问题吗?

    简短回答?没有。

    正如其他人所指出的,只需确保您的路线文件需要正确的参数。我还建议阅读 here 以了解 PUT 与 POST 以及 here 以了解表单方法欺骗。

    一般来说,UPDATE 端点应该是 POST 或 PUT。不过这不是你的问题,所以我会坚持回答你在这里的问题。

    Routes/web.php

    Route::get('/promo/update', 'PromoController@update')->name('promo.update');
    

    刀片

    <form method="GET" action="/promo/update">
        @csrf <!-- remember to pass your token --> 
    
        <input type="text" name="foo" id="foo" class="form-control" />
        <button type="submit" class="btn btn-primary">Submit Form</button>
    </form>
    

    促销控制器

    public functon update( Request $request )
    {
        // Process your data
    }
    

    【讨论】:

      【解决方案2】:

      因为您的路由方法 (/promo/update) 是 post 并且您使用 get...您只需在终端中运行以下代码即可查看可用的路由方法:

      php artisan route:list
      

      【讨论】:

        【解决方案3】:

        首先,确保您已在路线文件中创建路线。

        第二...

        Laravel 自动为应用程序管理的每个活动用户会话生成一个 CSRF“令牌”。此令牌用于验证经过身份验证的用户是实际向应用程序发出请求的用户。

        每当您在应用程序中定义 HTML 表单时,您应该在表单中包含一个隐藏的 CSRF 令牌字段,以便 CSRF 保护中间件可以验证请求。您可以使用@csrf Blade 指令来生成令牌字段:

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-12-21
          • 1970-01-01
          • 1970-01-01
          • 2020-08-10
          • 1970-01-01
          • 2014-06-02
          • 2016-01-07
          • 2023-02-16
          相关资源
          最近更新 更多