2015-04-01 148 views
2

形式:POST方法在Laravel不工作

@section('form') 
    <div class="col-sm-4"> 
     {!! Form::open() !!} 
     <div class="form-group"> 
      {!! Form::label('name', 'Name:') !!} 
      {!! Form::text('name', 'Enter your name', ['class' => 'form-control']) !!} 
     </div> 

     <div class="form-group"> 
      {!! Form::label('contact', 'Contact Number:') !!} 
      {!! Form::text('contact', 'Enter your contact number', ['class' => 'form-control']) !!} 
     </div> 

     <div class="form-group"> 
      {!! Form::label('location', 'Location:') !!} 
      {!! Form::select('location', $locations, null, ['class' => 'form-control']) !!} 
     </div> 

     <div class="form-group"> 
      {!! Form::label('service', 'Service Required:') !!} 
      {!! Form::select('service', $services, null, ['class' => 'form-control']) !!} 
     </div> 

     <div class="form-group"> 
      {!! Form::submit('Just go Befikr >>', ['class' => 'btn btn-primary form-control']) !!} 
     </div> 
     {!! Form::close() !!} 
    </div> 
@stop 

routes.php文件:

<?php 

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

PagesController.php

<?php namespace App\Http\Controllers; 

use App\service_location; 
use App\service_type; 
use App\service_request; 
use App\Http\Requests; 
use App\Http\Controllers\Controller; 

use Request; 

class PagesController extends Controller { 

    public function index() 
    {   
     $locations = service_location::lists('location_area', 'location_id'); 
     $services = service_type::lists('service_desc', 'service_id'); 

     return view('home.index', compact('locations','services')); 
    } 

    public function store() 
    { 
     $input = Request::all();    
     return $input; 
    } 

} 

不幸的是,代碼似乎都不對返回$input屏幕(意味着它根本不執行store()函數),也不會拋出任何錯誤或/異常。

任何人都可以請讓我知道爲什麼post方法沒有在這裏產生適當的結果?


編輯1

我通過route的內聯函數試圖直接return,但即使沒有工作。因此,現在我相當確信post方法根本沒有被觸發。這是我做的驗證它:

Route::post('/', function() 
{ 
    return 'Hello'; 
}); 
+0

您可能會碰到http://laravel.com/docs/master/routing#csrf-protection。我對「沒有例外」一點懷疑 - 檢查你的日誌。 – ceejayoz 2015-04-01 18:40:21

+0

@ceejayoz我該如何檢查我的日誌?我對此很陌生。如果這聽起來很愚蠢,請原諒我。 – ikartik90 2015-04-01 18:47:08

+0

'storage/logs'包含文本文件,其中包含日誌信息。 – ceejayoz 2015-04-01 19:19:59

回答

1

嗯,我想到了我自己的問題在這裏的答案。

事實證明,在爲了能夠執行post要求,你需要明確部署PHP服務器:

php -s localhost:<AnyFreePort> -t <YourRootDirectory> 

而當我試圖通過XAMPP運行它的第一次,我試圖運行應用程序純粹是出於懶惰,直接爲:

http://localhost/myproject/public 

這對於一個get要求正常工作。

0

即使我有同樣的問題,但你的解決方案是不利於我,因爲我是使用Apache服務器,而不是建立在PHP服務器 後來我發現this解決方案,說剛進入空間,形成動作,奇怪的問題和解決方案但它對我有用......

例如。

{!! Form::open(array('url' => ' ', 'method' => 'post')) !!}