2013-07-30 2 views
0

아약스와 함께 나는 약간의 오류 처리 및 데이터베이스 물건을 만드는 PHP 파일에 일부 데이터를 보내고 있습니다. 모든 것이 정확하다면 php 파일은 메시지를 echo합니다. 아약스 응답 텍스트가 작동하지 않습니다

function signup() { 
    var u = _("username").value; 
    var e = _("email").value; 
    _("signupButton").style.display = "none"; 
    status.innerHTML = 'please wait ...'; 
    var ajax = ajaxObj("POST", "path/signup.php"); 
    ajax.onreadystatechange = function() { 
     if(ajaxReturn(ajax) == true) { 
      if(ajax.responseText != "signup_success") { 
       status.innerHTML = ajax.responseText; 
       _("signupButton").style.display = "block"; 
      } else { 
       window.scrollTo(0,0); 
       _("signupForm").innerHTML = "Some Text"; 
      } 
     } 
    } 
    ajax.send("u="+u+"&e="+e); 
} 

이제 문제는 PHP 파일의 에코 메시지가합니다 (status.innerHTML에 표시됩니다)하지만 아약스는 다른 조건을 만족하지 "signup_success"와 같은 것입니다. 실수는 어디 있습니까?

많은 노력에 감사드립니다. 당신은 후에을 onreadystatechange의 기능 (내부 다음 확인하는 것 그나마

+0

* 이제 문제는 PHP 파일의 에코 메시지는 "signup_success"* 같다는 것을 - 그것은 내기 실제로 "signup_success" – Quentin

+0

아니요, 아니요 :) – user1830414

+0

'console.log (ajax);'before'if (ajax.responseText! = "signup_success") {'그리고 내부에있는 내용을 확인하십시오. 아약스 개체. 그것을 디버그 –

답변

0

) {} :

if(ajaxReturn(ajax) == true) {  
if((ajax.readyState == 4) && (ajax.status == 200)) 
{ 
    //if(ajax.responseText != "signup_success") { 
    if(ajax.responseText.search('signup_success')>=0){ 
    status.innerHTML = ajax.responseText; 
    _("signupButton").style.display = "block"; 
    } else { 
    window.scrollTo(0,0); 
    _("signupForm").innerHTML = "Some Text"; 
    } 
} 
} 
+0

실제로 어떻게 내 코드에서 이것을 구현해야할지 모르겠다. – user1830414

+0

좋아, 내가 그랬지.하지만 문제는 여전히 남아있다. – user1830414

+0

'ajax.responseText'에 경고 했습니까? 결과는 무엇입니까? –

관련 문제