2017-03-01 158 views
1

我有與Laravel運行Laravel 5.2實踐應用即成運行這樣 Laravel 5.2 PracticeLaravel 5.2:路線不運行Laravel即成不工作

完美的工作,形式刀片以下

@extends('layouts.app') 

@section('form') 
<div class="col-md-4"> 
@if(count($errors)>0) 
<div class="alert alert-danger"> 
    @foreach($errors->all() as $error) 
     {{ $error }} 
    @endforeach 
</div> 
@endif 
<form action="/" method="post"> 
    <div class="form-group"> 
     <label>I want to</label> 
     <select class="form-control" name="action"> 
      <option value="greet">Greet</option> 
      <option value="hug">Hug</option> 
      <option value="kiss">Kiss</option> 
     </select> 
    </div> 
    <div class="form-group"> 
     <label>this person</label> 
     <input type="text" class="form-control" name="name" > 
     <input type="hidden" name="_token" value="{{ csrf_token() }}"> 
    </div> 
    <div class="form-group"> 
     <button type="submit" class="btn btn-success "> Do it! </button> 
    </div> 
    </form> 
</div> 
@endsection 

隨着繼路線POST路由條目

Route::post('/', '[email protected]'); 

問題

當我使用的,而不是Laravel服務器WAMP的服務器上運行同一個應用程序

Laravel 5.2 Practice Application

我按下提交按鈕,它帶我到本地主機

Wamp Server Localhost

是否有可能編寫一個可以在兩種情況下執行的路由條目,運行Laravel Server和不運行。 ?

這是我的路線

Route::get('/', [ 
    'uses' => '[email protected]', 
    'as' => 'home' 
]); 
Route::get('/hug/{name?}', [ 
    'uses' => '[email protected]', 
    'as' => 'hug' 
]); 
Route::get('/kiss/{name?}', [ 
    'uses' => '[email protected]', 
    'as' => 'kiss' 
]); 
Route::get('/form', [ 
    'uses' => '[email protected]', 
    'as' => 'form' 
]); 

Route::post('/', '[email protected]')->name('index'); 


Route::auth(); 

Route::get('/home', '[email protected]'); 
Route::get('/logout',function(){ 
Auth::logout(); 
return Redirect::to('/home'); 
}); 
+0

Route :: post('/','adminController @ post') - > name('index');並添加表單行動路線('索引') – sunilwananje

+0

我應該寫什麼形式的行動? –

+0

add {{route('index')}}以形成動作 – sunilwananje

回答

2

這是因爲你硬編碼的/在

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

我強烈建議使用Laravel Collective您的形式

您可以打開一個表格給一個路線,而不是像這樣的絕對URL。 閱讀文檔。

echo Form::open(['route' => 'route.name']) 

Laravel集體將解決你所有的問題是這樣的。它具有模型綁定和CSRF保護。使用方便。

希望得到這個幫助。

1

如果你不想使用的形式集合,在表單操作,更換action="/"到您的路線網址:

<form action="your_post_url" method="post"> 
    <!-- protect your application from cross-site request forgery (CSRF) attacks. --> 
    {{ csrf_field() }} 
    <!-- your form here --> 
</form 

要查找路線的網址,您可以使用命令php artisan route:list您控制檯

0

好吧我已經通過做下面的修復它。

路由項

Route::post('/post', '[email protected]')->name('post'); 

表打開

<form action="{{ route('post') }}" method="post"> 

以前的路線是指向/。我仍然不知道爲什麼提及/後固定它,當我命名的路線發佈,但它的工作現在

+0

現在它可以在Laravel Server上運行url並且不需要 –