2011-05-06 4 views
1

현재 jquery로 ajax 양식을 작성하고 있습니다. 양식은 PHP 스크립트로 처리되며 정보는 PHPMailer 라이트 클래스를 통해 전송됩니다. (http://phpmailer.worxware.com/index.php) 이것은 PHP 코드서버가 json 예상 응답이 유효하지 않게하는 경고/오류를 에코합니다.

: 사용자가 제출 한 이메일이 결과, 유효한 하나가 아닌 경우

if ($mail->Send()) 
     echo '{"message":"Mensaje enviado con éxito","status":"ok"}'; 
    else 
     echo '{"message":"Ocurió un error al envíar el mensaje, intentelo más tarde.","status":"fail"}'; 

나는이 문제를 발견 다음과 같은 오류가 :

Invalid address: E-mail:Invalid address: E-mail:Could not execute: /usr/sbin/sendmail

나는 이메일을 테스트해야합니다. 승인. 그러나 문제는 이전 오류 메시지가 "방해가되어"응답을 손상 시킨다는 것입니다. 이메일 오류는 해결할 수 있지만 다른 경고/오류는 응답을 손상시킵니다.

A '손상'응답 예 :

Invalid address: E-mail:Invalid address: E-mail:Could not execute: /usr/sbin/sendmail {"message":"Ocurió un error al envíar el mensaje, intentelo más tarde.","status":"fail"}

(첫 번째 줄이 안)

그리고 이것은 자바 스크립트입니다 (JQuery와) 부분 :

 $.ajax 
    ({ 
     type: "POST", 
     url: "contact.php", 
     data: $(this).serialize(), 
     success: function(data) 
     { 
      if(data.status == 'fail') 
      { 
       do something with data.message; 
      } 
      else if(data.status == 'ok') 
      { 
       do something else with data.message; 
      } 
     }, 
     dataType: 'json' 
    }); 

어떤 도움을 이? :) 당신

답변

0

그것의 장거리 슛은 감사하지만, 당신은 @ 코드의 특정 라인에서의 PHP 오류를 억제

@ if ($mail->Send()) 

을 시도합니다.

+0

음, 아주 최후의 수단으로 만 사용하십시오 ... 문제를 숨긴다 고해서 문제가 해결되는 것은 아닙니다. – kapa

+0

이제 제대로 시작했으면 Send() 함수를 조사해야합니다. 이것은 smtp 설정이 구성되지 않은 테스트 서버에서 실행될 가능성이 높으며 실시간으로 작동합니다. 모든 것이 침입 수준 응용 프로그램이 아닙니다 .... –

+0

음, 그렇습니다. 모든 것이 엔터프라이즈 수준 응용 프로그램이 아닙니다. :). 그렇다면 코딩 표준과 로직에 대해 누가 더 신경 쓰는지 :). – kapa

관련 문제