Как получить ответ JSON от метода ошибки AJAX - PullRequest
0 голосов
/ 12 декабря 2018

Я пытаюсь создать аутентификацию пользователя, используя vue и laravel, после нажатия кнопки регистрации я отправляю данные формы на контроллер создания пользователя, где я кодировал таким образом

public function store(Request $request)
{
    //

    $validator = Validator::make($request->all(), [
        'firstname'  =>  'required',
        'lastname'   =>  'required',
        'email'      =>  'required|email|unique:users',
        'password'   =>  'required|min:8',
        'phoneno'    =>  'required'
    ]);

    if ($validator->fails()){
        return response($validator->getMessageBag()->jsonSerialize(), Response::HTTP_UNPROCESSABLE_ENTITY); 
    }

    $firstname = $request->firstname;
    $lastname = $request->lastname;
    $email = $request->email;
    $password = $request->password;
    $phoneno = $request->phoneno;
    return response($request, Response::HTTP_OK);
}

и измой интерфейс, я делаю ajax-запрос, используя axios, я отправляю данные формы как:

    let formdata = this.user;
    axios.post('/api/user', {
        data: formdata
    }).then((data) => {
        console.log(data);
    })
    .catch((error) => {
        console.log(error);
    });

Но в случаях, когда есть ошибки, я не получаю json, который я передал из проверки $validator->fails()я только вижу: image from registering with errors

Есть ли способ получить JSON, который я передал по ошибке?

1 Ответ

0 голосов
/ 12 декабря 2018

примерно так:

return response()->json($validator->errors(), Response::HTTP_UNPROCESSABLE_ENTITY)

РЕДАКТИРОВАТЬ:

error.response.data имеет сообщения об ошибках

error.response.status имеет код ошибки

...