2013-03-03 7 views
2

저는 Ajax를 사용하여 PHP 사이트를 호출하지만 "성공"과 "오류 발생"중 하나를 수행하려고합니다. 그래서이Ajax 및 Jquery - 성공

return true 

그러나 내 사이트의 팝업을 내 PHP 코드 (바로 연결이 작동한다면, 시도 할 만 반환합니다)되어

$("#votePositive").click(function(){ 
      var idEntrada = $('.entry').attr('id'); 
      var url = "{{ path('moderar_entrada_votacion') }}"; 
      var eleccion=1; 
      $.ajax({ 
       type: "POST", 
       url: url, 
       data: { 
        idEntrada: idEntrada, 
        eleccion: eleccion 
       },error: function(){alert("eee")}, success: function(){alert("bbb")} 
      }); 
     }); 

: 지금까지

이 내 JS입니다 경고 "eee". EEE 경고가오고,

return false 

그러나 같은 일이 일어나고 :

나는에 시도했습니다.

"return"문장을 PHP 파일에서 제거하면 "bbb"경고가 나타납니다.

어떻게 이러한 반품을 처리 할 수 ​​있습니까? Ajax에게 이것이 성공했는지 여부를 어떻게 알릴 수 있습니까?

+0

PHP 스크립트는 "돌아 가기"가 아닌 값을 출력해야합니다. ajax 호출로 반환되는 것은 http 응답입니다. 데이터는 해당 페이지에서 반향하는 내용의 응답 본문입니다. 아마 도움이 될 한 가지는 ajax 호출에서 데이터 유형을 설정하는 경우입니다. – ajon

답변

1

PHP에서 true 또는 false을 반환하는 것은 아닙니다. 대신 그것은 HTTP 응답 코드와 내용에 관한 것입니다. 예를 들어, PHP가 간단하게 :

echo 'Hello world' 

success이 호출됩니다. 물론 실제 데이터 세트 (아마도 JSON 표현)를 반환하고 싶을지라도.

+0

그래서 나는 내가 "아무것도 돌려 주면 잘 작동한다"고 생각합니다. 그렇지 않으면 아무것도 반환하지 않으면 뭔가 잘못되었다는 의미입니다. – Reinherd

+0

일반적으로 오류가 발생했다고 판단한 경우 [헤더] (http://php.net/manual/en/function.header.php) 또는 내용을 사용하여 HTTP 오류 코드로 반환해야합니다. JSON을 반환하는 것은 일반적으로'{error : true, message : "뭔가 잘못되었습니다"}' – juco

+0

오. 글쎄 atm 나는 이것을 가지고있다 :'return new Response (true, 400); 또는'return false;'이 작동 중이다.) – Reinherd