저는 프론트 엔드 Angular App과 별도의 Laravel 5.1 API를 구축하고 있습니다. 중복 전자 메일 주소를 게시하여 등록 유효성 검사를 테스트하고 있습니다.Laravel의 상태 코드가 Angular http로 수신되지 않았습니다.
내 각도$http
방법은 전혀 응답을받지 않습니다
return new JsonResponse($errors, 422);
이 상태 코드에서 오류가 발생, 따라서 success
NOR error
방법은 각 응답에 호출됩니다. 내가 JsonResponse
에서 상태 코드 422
를 제거하면
그러나 :
return new JsonResponse($errors);
나는 각도에 응답을받을 수 있습니다. 상태 코드 422
를 사용하는 것은 여전히 네트워크 탭에서 응답을 반환하기 때문에
422 (처리 할 수 없음 법인)
응답 : 이메일 : [ "이메일을 이미 가져 왔습니다."]
나는 이 아닌 20이 트리거되기를 원하기 때문에 Laravel의 상태 코드를 전달하고 싶습니다. 각도는 $http .error
입니다.
코드 조각 :
각도 :
signup: function(params) {
return $http({
method: 'POST',
url: url + ver + '/auth/register',
data: params,
cache: true
});
}
Auth.signup(scope.user).success(function(res){
console.log(res);
}).error(function(err) {
alertify.error('There was an error with your login credentials. Please try again');
});
Laravel :
public function postRegister(Request $request)
{
$validator = $this->validator($request->all());
if ($validator->fails()) {
$this->throwValidationException(
$request, $validator
);
}
protected function buildFailedValidationResponse(Request $request, array $errors)
{
if ($request->ajax() || $request->wantsJson()) {
return new JsonResponse($errors, 422);
}
편집 : 나는 또한 생이었다 각도 error
이 422
코드에 의해 실행되지 않는 문제 일 수 있습니다. This는 상단에 추가라고하지만이 문제
$http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded";
작동하는 것 같다 이상한 흠. – Growler
@Growler가 $ http 인터셉터를 사용하고 있습니까?그렇다면 http://stackoverflow.com/a/22425383/3574819를 참조하십시오. – FuzzyTree