1.透過ajax提交表單,如果驗證不通過,則會傳回http狀態值為422的json2.該json的格式如何自訂? 3.http狀態值422,似乎已經在框架裡面寫死了。我想透過捕獲驗證異常的形式返回自訂的json到前端,這個能實現嗎? 4.利用jquery的ajax方法在error的時候還是拿不到格式化成json物件的的回傳數據,只能拿到一個字串形式的json
认证0级讲师
json格式這個自己依需求定義,沒有什麼多說的,後面兩個問題
http狀態值422,貌似已經在框架裡面寫死了。我想透過捕獲驗證異常的形式返回自訂的json到前端,這個能實現嗎?
<?php namespace App\Exceptions; use Illuminate\Validation\ValidationException; ... class Handler extends ExceptionHandler { ... public function render($request, Exception $e) { if ($request->ajax() || $request->wantsJson()) { $errors = []; if ($e instanceof ValidationException && $e->getResponse()) { try { $errors = json_decode($e->getResponse()->getContent(), true); } catch (\Exception $ex) { $errors = $e->getResponse()->getContent(); } } return response()->json([ 'message' => empty($errors) ? (empty($e->getMessage()) ? '出错了' : $e->getMessage()) : implode(',', array_first($errors)), 'status_code' => $e->getStatusCode(), 'errors' => $errors ]); } ... } }
利用jquery的ajax方法在error的時候還是拿不到格式化成json物件的的回傳數據,只能拿到一個字串形式的json
$.ajax({ ... dataType: "json", ...
json格式這個自己依需求定義,沒有什麼多說的,後面兩個問題
http狀態值422,貌似已經在框架裡面寫死了。我想透過捕獲驗證異常的形式返回自訂的json到前端,這個能實現嗎?
利用jquery的ajax方法在error的時候還是拿不到格式化成json物件的的回傳數據,只能拿到一個字串形式的json