簡體   English   中英

如何在Laravel 5.4中用郵寄方式提交表格

[英]How to make form submit with post in laravel 5.4

我正在學習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表單提交”消息。

但是當我運行鏈接時,然后發布無法正常工作並給出錯誤:

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表單提交

那個syntex是正確的,沒有錯,這是您不能簡單地運行POST URL,它將被視為GET請求。

為了使POST正常工作,您需要指定其發布請求,就像我們指定的形式那樣

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

您會看到我們提到了它的發布請求。 但是,如果您只是嘗試訪問www.example.com/admin3 ,則它將被視為GET請求,因此您將收到該錯誤。

還有一件事,對於控制器中的發布請求,添加Request $request以捕獲發布數據。 像這樣

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

不要忘記導入請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM