我想定義一種情況,如果一個函式在laravel中間件的terminate()方法中回傳false,那么我是這樣做的
$parsedData = $this->parse($request) 。
if(!$parsedData){
dd("hello")。
}
條件運行正常,但當我呼叫回應時,它沒有顯示任何東西
。$parsedData = $this->parse($request) 。
if(!$parsedData){
return Response::json(array(
'success' => false,
'info' => "error".
), 422)。
}
呼叫回應幫助器
在這種情況下,我是否做錯了什么?
uj5u.com熱心網友回復:
請檢查下面的代碼是否對你有用
if(!$parsedData){
$arr = array(
'success' => false,
'info' => "error".
);
return response()->json($arr) 。
}
uj5u.com熱心網友回復:
terminate()在中間件中執行AFTER回應被發送到瀏覽器。如果你想在回應發送到瀏覽器之前做一些事情--你必須使用這個約束:
public function handle($request, Closure $next)
{
$response = $next($request)。
//do stuff[/span]。
return $response;
}
uj5u.com熱心網友回復:
像這樣使用 :
//use IlluminateHttpResponse;
if(!$parsedData){
return response()
->json(['success' => false, 'info' => 'error'], Response::HTTP_UNPROCESSABLE_ENTITY)。)
}
你可以用422直接替換Response::HTTP_UNPROCESSABLE_ENTITY
更多 : https://laravel.com/docs/5.8/responses#json-responses
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/320626.html
標籤:
