【问题标题】:How to make form submit with post in laravel 5.4如何在 laravel 5.4 中使用 post 提交表单
【发布时间】:2019-01-05 23:26:22
【问题描述】:

我正在学习 laravel 5.4 框架。

在 web.php 中:

Route::post('form-submit',[

'uses' => 'Admincontroller@formSubmit',
'as' => 'f.submit',

]);

管理员控制器是:

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Request;
use App\Http\Controllers\Controller;
use App\Customer;

class Admincontroller extends controller{

public function index()
{
//echo"Index method";
return view('Welcome');
}
public function formSubmit()
{
    echo"HTML form submit";
} 
?>

xyz.blade.php 是:

@extends('layout/test-data2')
@section('content')
{!! Form::open(['url' => 'form-submit'])  !!}
{!! Form::text('field_one') !!}
    {!! Form::submit('submit') !!}

{!! Form::close() !!}
@endsection

运行表单提交后,应打开一个表单,如果单击按钮,则应回显消息“HTML表单提交”。

但是当我运行链接时,post 不起作用并给出错误:

When I run url admin3, then got error:

(1/1) MethodNotAllowedHttpException
in RouteCollection.php line 251
at RouteCollection->methodNotAllowed(array('POST'))
in RouteCollection.php line 238
at RouteCollection->getRouteForMethods(object(Request), array('POST'))
in RouteCollection.php line 176
at RouteCollection->match(object(Request))
in Router.php line 546

但当我使用 get 时,它只显示文本消息:HTML 表单提交

【问题讨论】:

    标签: php laravel-5 laravel-5.2 laravel-routing


    【解决方案1】:

    语法是正确的,没有错,事情是你不能简单地运行一个 POST url,这将被视为 GET 请求。

    要使 POST 工作,您需要指定它是一个 post 请求。就像我们指定的表单一样

    <form method="post" action=<URL HERE>> </form>
    

    您看到我们提到它是一个发布请求。 但是,如果您只是尝试访问 www.example.com/admin3,这将被视为 GET 请求,因此您会收到该错误。

    还有一件事, 对于控制器中的 post 请求,添加 Request $request 以捕获 post 数据。像这样的

    public function postindex(Request $request)
    {
       $data = $request->all(); //This will give you the data of all post value
        echo"Index method";
        //return view('Welcome');
    }
    

    不要忘记导入请求。

    【讨论】:

    • 谢谢您的回复。但在我的例子中没有任何形式
    • 那就不要使用 POST,那样不行。除非您在标头中指定它是一个发布请求
    • 请等待两分钟。我会问一个新问题并在此处粘贴链接
    • 尝试更改此{!! Form::open(['url' =&gt; 'form-submit', 'method' =&gt; 'post']) !!} 看看发生了什么。并添加 Request $request toy ur post controler
    • 我们可以联系teamviewer或anydesk吗?
    猜你喜欢
    • 1970-01-01
    • 2017-10-23
    • 2016-09-26
    • 1970-01-01
    • 1970-01-01
    • 2018-02-05
    • 2018-12-15
    • 2016-12-16
    • 1970-01-01
    相关资源
    最近更新 更多