2014-11-22 38 views
0

以下是調用ajax以及php不工作的代碼,請幫助我。它給我500錯誤,我不知道爲什麼。我也使用$而不是jQuery,jquery.min.js也在那裏。Ajax調用錯誤,不能正常工作

jQuery.ajax({ 

     url: 'http://domain.com/adminer/validate.php', 
     method : 'post', 
     data : {email:emailField.value}, 
     dataType: 'text', 
     success : function(data){ 
      if(data=="1") 
      { 
       alert('Already exists'); 
       return false; 
      } 
      else 
      { 
       alert('available'); 
       return false; 
      } 
     } 
});    

這裏是PHP代碼以獲取電子郵件的詳細信息,並重新運行消息1. PHP代碼工作正常,但這裏是謊報的東西,這將是給500錯誤是顯示到控制檯。

if($_POST['email']) 
{  
     $con = mysqli_connect("localhost","uname","pass","dbname"); 
     if (mysqli_connect_errno()) 
     { 
      echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
     }  
     $result = mysqli_query($con,"SELECT email FROM master_user where email='".$_POST['email']."'"); 
     $row_cnt = $result->num_rows; 
     if($row_cnt > 0){    
      echo "1"; exit; 
     } 
     else 
     { 
      echo "2"; exit; 
     } 
     mysqli_close($con); 
} 
+0

您的服務器端代碼可能存在一些錯誤。你可以在沒有ajax的情況下運行php代碼嗎? – Jashwant 2014-11-22 08:39:34

+0

**危險**:您很容易[SQL注入攻擊](http://bobby-tables.com/)**,您需要[防禦](http://stackoverflow.com/questions/ 60174/best-way-to-prevent-sql -injection-in-php)自己從。 – Quentin 2014-11-22 08:40:46

+0

瀏覽器中的500錯誤意味着「請閱讀您的服務器日誌以查明錯誤是什麼」。 – Quentin 2014-11-22 08:41:12

回答

0

更改您的代碼,如下所示。我還沒有測試,但我認爲它的工作正常。

jQuery.ajax({

url: 'http://domain.com/adminer/validate.php?email='+emailField.value, 
    method : 'post', 
    success : function(data){ 
     if(data=="1") 
     { 
      alert('Already exists'); 
      return false; 
     } 
     else 
     { 
      alert('available'); 
      return false; 
     } 
    } 

});