2012-09-13 5 views
0

jquery의 ajax 함수를 사용하여 json을 PHP 스크립트로 보내고 프론트 엔드 처리를위한 json 값 세트를 반환합니다.jQuery json 처리 오류

PHP 스크립트가 json을 보내고 있으며 PHP 스크립트에서 json을 반향 출력하고 success 함수 매개 변수를 통해 검색 할 수 있습니다.

제 질문은 어떻게 오류를 처리해야합니까입니다. 예외 정보 (유효성 검사 등)를 프런트 엔드에 보내고 PHP에서 오류가 발생했음을 나타낼 수있는 기본 방법이 있습니까? json 객체에 이러한 정보를 패키징하고 수신 된 내용을 확인해야합니다. 실제로 두 가지 접근법을 추천 할 것입니다

$.ajax({ 
    url: 'gear.php', 
    type: 'POST', 
    data: {'json': JSON.stringify(shopping)}, 
    success: function(data){ 
     console.info(data); 
    }, 
    error: function(data){ 
     console.info(data); 
    } 
}); 
+2

왜 당신이 보내기 전에 JSON에 반대하는 캐릭터 라인 화합니까? 그게 진짜 이유야? – zerkms

+0

@zerkms 나는 $ _POST에서 직접 게시물 데이터를 가져 오는 대신'$ json = json_decode ($ _ POST [ 'json']);을 수행하고 있다고 생각한다. – xdazz

+0

@xdazz : yep, 그건 내 첫 번째 (그리고 유일한 ;-) 생각 ;-) 그래서 내가 물었습니다 – zerkms

답변

0

감사합니다. error: 블록을 사용하여 서버 측 오류 (예 : 404, 500 오류 등)를 잡으십시오.하지만 비즈니스 예외의 경우 확인할 수있는 다른 JSON 블록으로 응답합니다. success:에서하세요. 예를 들어

:

$.ajax({ 
    url: 'gear.php', 
    type: 'POST', 
    data: {'json': JSON.stringify(shopping)}, 
    success: function(data){ 
     if (data.error_message){ 
      alert(data.error_message); 
     } else { 
      console.info(data); 
     } 
    }, 
    error: function(data){ 
     console.info(data); //popup an uh-oh message. 
    } 
}); 
+0

$ .ajax 오류 변수는 실제로'jqXHR, textStatus, errorThrown'입니다. – vonflow