2016-04-07 276 views
0

我不能在laravel中使用Request類來獲取Ajax請求和輸入請求。Laravel ajax post請求

我想調用一個ajax請求到控制器,這工作,直到我想請求已發佈到控制器的數據。這與我使用的Request類有關。

use Request; 

此類用於通過AJAX請求

use Illuminate\Http\Request; 

這是用於請求輸入的類。

問題是我不能同時使用它們。

public function postQuestion(Request $request) { 
    //dd($request->answer); 
    if(Request::ajax()) { 
     // $answer = new Answers; 
     // $answer->answer = $request->answer; 
     // $answer->description = "Test"; 
     // $answer->Questions_id = 1; 
     // $answer->save(); 
     return Response::json($request->answer); 
    } 
} 

這是我寫的代碼。 任何人都看到一些熟悉的東西?或者有答案嗎?

+0

對不起,但我不確定你在問什麼?你不能執行'$ request-> ajax()'或'$ request-> input('myParameter')'嗎? – Rash

+1

你的意思是兩個班的名字都一樣嗎?如果是這種情況,你可以爲其中的一個分配一個別名:'使用Request作爲Request2;' – Rainner

+1

啊現在我理解了這個問題。你的名字空間是衝突的。只需使用不同的名稱空間。例如使用'Illuminate \ Http \ Request作爲SomeOtherRequest' – Rash

回答

1

問題竟然是不能夠使用兩個教學班,同一個命名空間。對於這種情況,PHP提供了as關鍵字。

use Illuminate\Http\Request as HttpRequest; 
use Some\Other\Namespace\Request; 

然後在代碼中這兩個類都可以使用。例如。 HttpRequest::method()Request::method()

1

你可以使用?

public function postQuestion(Requests\ModelRequest $request) { //your logic } 

更換您的要求型號\ ModelRequest