如何在 laravel 5.4 中使用 post 提交表单
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 form submit" 应为回显。
但是当我 运行 link 时,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 表单提交
那个语法是正确的,没有错,问题是你不能简单地 运行 一个 POST url,那将被视为 GET 请求。
要使 POST 正常工作,您需要在我们指定的形式中指定它是 post request.Like
<form method="post" action=<URL HERE>> </form>
你看我们提到它是一个 post 请求。
但是,如果您只是尝试访问 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');
}
别忘了导入请求。
我正在学习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 form submit" 应为回显。
但是当我 运行 link 时,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 表单提交
那个语法是正确的,没有错,问题是你不能简单地 运行 一个 POST url,那将被视为 GET 请求。
要使 POST 正常工作,您需要在我们指定的形式中指定它是 post request.Like
<form method="post" action=<URL HERE>> </form>
你看我们提到它是一个 post 请求。
但是,如果您只是尝试访问 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');
}
别忘了导入请求。