Rumah > Soal Jawab > teks badan
1. Hantar borang melalui ajax Jika pengesahan gagal, json dengan nilai status http 422 akan dikembalikan 2. Bagaimana untuk menyesuaikan format json?
3 Nilai status http ialah 422, yang nampaknya telah dikodkan dengan keras dalam rangka kerja. Saya ingin mengembalikan json tersuai ke bahagian hadapan dengan menangkap pengecualian pengesahan Adakah ini mungkin?
4 Apabila menggunakan kaedah ajax jquery, anda masih tidak boleh mendapatkan data pemulangan sebagai objek json apabila ralat berlaku Anda hanya boleh mendapatkan json dalam bentuk rentetan
伊谢尔伦2017-06-21 10:12:48
Anda boleh menentukan sendiri format json mengikut keperluan anda. Tiada apa lagi yang boleh dikatakan tentang dua soalan seterusnya
<?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
]);
}
...
}
}
$.ajax({
...
dataType: "json",
...