【发布时间】:2017-11-23 14:35:36
【问题描述】:
我在 Laravel 中创建了一个表单,所以这里有以下文件: 某人应该提交一些详细信息的表格, contact.blade.php:
@extends('layouts.layout')
@section('content')
<main role="main">
<section class="jumbotron text-center">
<div class="container">
<h1 class="jumbotron-heading">Laravel demo</h1>
<p class="lead text-muted">Please fill the form</p>
@if(count($errors) > 0)
@foreach($errors->all() as $error)
<div class="alert alert-danger">
{{$error}}
</div>
@endforeach
@endif
</div>
</section>
<div class="album text-muted">
<div class="container">
{!! Form::open(['url' => 'contact/submit']) !!}
{!! csrf_field() !!}
<div class="form-group">
{{Form::label('name', 'Name') }}
{{Form::text('name', 'Enter Name', ['class'=> 'form-control'])}}
</div>
<div class="form-group">
{{Form::label('email', 'E-Mail Address') }}
{{Form::text('email', 'example@gmail.com', ['class'=> 'form-control'])}}
</div>
<div class="form-group">
{{Form::label('message', 'Enter Message') }}
{{Form::textarea('message', 'Enter Message', ['class'=> 'form-control'])}}
</div>
<div>
{{Form::submit('Submit', ['class'=> 'btn btn-primary'])}}
</div>
{!! Form::close() !!}
</div>
</div>
</main>
@endsection
控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class MessageController extends Controller
{
public function submit(Request $request){
$this->validate($request, [
'name' => 'required',
'email' => 'required'
]);
return 'SUCCESS';
}
}
* 在 Routes web.php 文件中,我已将该方法作为帖子包含在内:
Route::get('/', function () {
return view('home');
});
Route::get('/contact', function () {
return view('contact');
});
Route::post('/contact/submit', 'MessageController@submit');
错误消息是“RouteCollection.php (line 251)”。在此处搜索类似情况后,通常会在您使用与指定路由方法不同的方法时出现问题。我正在使用 POST 方法提交详细信息,但我仍然不明白为什么会得到这个。 任何帮助,将不胜感激。
【问题讨论】:
-
浏览器控制台显示什么?是否使用 POST,是否发送到正确的端点?
-
是页面联系人/提交有问题。如果我在 /contact 页面中按下表单的提交按钮,它会返回成功,我还没有完成该方法,所以这可能是原因!抱歉,我是 Laravel 的新手
-
我不关注。提交表单时,您是否在浏览器控制台中查看过网络请求?
-
状态为200,通过元素检查控制台没有错误。
-
您将需要发布更多错误