2017-11-23 3 views
0

나는 Laravel에서 양식을 만든 그래서 여기에 다음 파일을 누군가가 몇 가지 세부 사항을 제출해야한다고 형태, contact.blade.php :MethodNotAllowedHttpException 양식 오류

@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', '[email protected]', ['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'; 
    } 
} 

Route::get('/', function() { 
    return view('home'); 
}); 

Route::get('/contact', function() { 
    return view('contact'); 
}); 

Route::post('/contact/submit', '[email protected]submit'); 
012 : 난 후 같은 방법을 포함시켰다 web.php 파일 경로에서

*

오류 메시지는 "RouteCollection.php (line 251)"입니다. 여기에서 비슷한 경우를 검색하면 라우트에서 지정된 라우트 메소드와 다른 메소드를 사용할 때 문제점이 발생합니다. 세부 사항을 제출하기 위해 POST 메소드를 사용하고 있는데, 왜 이것을 얻는 지 이해할 수 없습니다. 도움이 될 것입니다.

+0

브라우저 콘솔에는 무엇이 표시됩니까? POST를 사용하고 있습니까, 오른쪽 끝 지점으로 보내고 있습니까? –

+0

문제가있는 페이지 연락처/제출자입니다./contact 페이지의 양식 제출 단추를 누르면 성공을 리턴합니다. 따라서이 방법이 완료되지 않았으므로 이것이 이유 일 수 있습니다! 나는 Laravel을 처음 보았습니다. –

+0

나는 따라 가지 않습니다. 양식을 제출할 때 브라우저 콘솔에서 네트워크 요청을 보았습니까? –

답변

-1

그래서 같은 형태의 URL로 백 슬래시를 추가하는 대신이의

{!! Form::open(['url' => '/contact/submit']) !!} 
+0

작동하지 않았습니다. –

+0

전체 URL을 전달하려고 시도하십시오. site.dev/contact/submit 라우팅이 나에게 잘 어울리기 때문에 –

+0

문제가 남아 있습니다. –

0

을 {! Form :: open ([ 'url'=> '연락처/제출'])}

시도해보십시오.

{!! Form :: open ([ 'method'=> 'POST', 'action'=> 'MessageController @ submit'])

관련 문제