2013-07-30 47 views
0

隨着ajax我發送一些數據到一個PHP文件,這使得一些錯誤處理和數據庫的東西。如果一切正確,php文件會回顯一條消息。ajax responseText不起作用

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文件的回送消息等於「signup_success」(在status.innerHTML顯示),但從未AJAX滿足else條件。錯誤在哪裏?

非常感謝您的努力。

+0

*現在的問題是,PHP文件的回聲消息等於「signup_success」 * - 打賭實際上是這樣的:「signup_success」 – Quentin

+0

不是,它不是:) – user1830414

+0

'console.log(ajax);''之前'if(ajax.responseText!=「signup_success」){'並且看看裏面有什麼ajax對象。調試它 –

回答

0

您好像還檢查以下內容後的onreadystatechange其功能(內部){}:

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'?輸出是什麼? –