我在使用Laravel 4.1和刀片模板引擎發佈表單時遇到問題。問題似乎是包含http://的完整URL包含在表單action屬性中。如果我手動硬編碼表單打開HTML並使用相對的網址,它的工作正常,但是,當它有完整的網址,我得到一個異常。在form.blade.php在Laravel 4.1和刀片模板中發佈表格
{{ Form::open(["url" => "/","method" => "post","autocomplete" => "off"]) }}
{{ Form::label("username", "Username") }}
{{ Form::text("username", Input::old("username"), ["placeholder" => "john.smith"]) }}
{{ Form::label("password", "Password") }}
{{ Form::password("password", ["placeholder" => ""]) }}
{{ Form::submit("login") }}
{{ Form::close() }}
所以
routes.php文件
Route::any("/", '[email protected]');
HomeController.php
public function showWelcome()
{
echo($_SERVER['REQUEST_METHOD']);
return View::make('form');
}
形式打開標籤,如果我去我家DIR /中瀏覽器,我看到了我創建的表單。如果我填寫表單的詳細信息並單擊提交,我簡單地進入相同的頁面 - 請求方法仍然是GET,如echo($ _ SERVER ['REQUEST_METHOD'])所示;
我注意到全
http://localhost/subdir/public/
URL在形式標記使用。如果我在如
<form action="/subdir/public/" method="post">
它工作正常硬編碼形式的開放標籤和$ _ SERVER [「REQUEST_METHOD」]顯示爲後。
我在這裏做錯了什麼?
Route :: any不是很好的編碼習慣。通常你想分開不同請求方法的邏輯。 – elliotanderson