2015-11-04 48 views
0

我想用AJAX和PHP構建一個簡單的註冊表單。在提交表單時,調用submit_create_user_form()函數。使用PHP的Ajax調用

這個AJAX函數調用ajax_calls.php頁面。

function submit_create_user_form(){ 
    var u = document.getElementById("org_name").value; 

     xhttp.onreadystatechange = function(){ 
      if (xhttp.readyState == 4 && xhttp.status == 200) { 
       var result =xhttp.responseText; 
       //status.innerHTML=xhttp.responseText; 
       if(result==="Successful"){ 
        //window.scrollTo(0,0); 
        document.getElementById('main').innerHTML ="An activation link has been sent to the new user's E-mail ID"; 
       } 
       else 
        status.innerHTML="Some error Occurred!!"; 
      }  
      } 
      xhttp.open("POST", "ajax_calls.php", true); 
      xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 

      xhttp.send("q="+u); 


} 

ajax_calls.php呼應「成功」,其與在xhttp.responseText上面的代碼片斷檢查。 即使輸出是「發生了一些錯誤」。

ajax_calls.php:

if(isset($_POST["q"])){ 
    echo "Successful"; 
} 

可能有人有幫助呢?謝謝!

+0

嘗試使用只是一個雙相等檢查:'result ==「成功」' –

+1

另外,在你的else語句中加上花括號。 –

+0

@RaphaëlVigée我已經嘗試過使用它。不用找了。 –

回答

-1

這是一個jQuery代碼

$(document).ready(function(e){ 
     var u=$('#org_name').val(); 
     $.post("ajax_calls.php",{q:u},function(data,message,xhr){ 
           if(message==='success'){ 
            $('#main').text(data); 
           } 
          }); 

    }); 
+0

我的代碼有什麼問題? –

-1

在你的代碼的問題是:

你沒有申報xhttp添加以下代碼:

var xhttp = new XMLHttpRequest(); 
+0

我已經聲明xhttp爲全局標識。沒有這個聲明,它甚至不會運行。 –

+0

只需添加代碼刷新您的頁面,我認爲這將是工作 –

+0

試過這樣做。我現在定義了局部變量xhttp,刷新了。不用找了。 –