我對Laravel 5.1有着非常沮喪的(超級新手)體驗。 確定必須有一些我錯過的東西,但不幸的是我在Laravel文檔上找不到任何東西。Laravel表單POST重定向失敗
問題是這樣的(我相信甚至相對簡單):雖然所有的GET路線都在工作,但POST中的路線將'重新路由'到錯誤的地方。 例如,假設控制器是這樣的:
namespace App\Http\Controllers;
use Illuminate\Routing\Controller as BaseController;
use View;
class PagesController extends BaseController {
public function hello(){
return view('hello');
}
public function register(){
//Registration rules
$inputData=array(
'name' => \Input::get('name'),
'email' =>\Input::get('email'),
'password' => bcrypt(\Input::get('password')),
);
createUser($inputData);
return view('stat');
}
private function createUser($inputData){
return User::create($inputData);
}
}
和給出的路線:
Route::get('/','[email protected]');
這一個正確地重定向我在控制器所指定的視圖,在所示的方法。不能順利進行
POST操作,因爲
Route::post('/','[email protected]');
與具有形式:
<form action="/" method="post">
<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
<label for="name">User Name</label><br/>
<input type="text" name="name" id="name"/><br/>
<label for="name">E-mail</label><br/>
<input type="text" name="email" id="email"/><br/>
<label for="password">password</label><br/>
<input type="password" name="password" id="password"/><br/>
<input type="submit" value="auth!"/>
</form>
結果重定向我XAMPP主頁。 例如,「主註冊頁面」就是在這個網址:
http://localhost:8080/laravel/project1/public/
(GET OK) ,當我點擊提交按鈕,我發送到
http://localhost:8080/
只是少數更多的指標,你可以嘗試和幫助我(我真的被卡住了): 1)我沒有使用VirtualHost(在網上搜索,但一直沒有好運配置Apache正常...祝你好運我已經得到xampp) 2)頁面「你好」有一個鏈接,我用作測試:
<a href="stat">Link</a>
並正確重定向我到
http://localhost:8080/laravel/project1/public/stat
3)在POST方法追捧-,我用了一個dd($inputData)
看看發生了什麼事情錯了,結果我.. 。沒有。不是空白頁面,只是總是localhost
頁面。這導致我認爲控制器方法不被調用,因爲頁面中沒有dd(---)
結果。 希望有人能幫助。 非常感謝
喜bignick改變這種
,謝謝你的建議。不幸的是,我也嘗試了這種解決方案,但是我沒有重定向到/ stat,而是重新加載了頁面「laravel/project1/public /」(即使控制器中的方法有其他操作)。我會嘗試在Apache中配置一個虛擬主機,看看有沒有什麼變化 –