2014-01-16 63 views
0

我使用AJAX调用PHP脚本。我正在使用条件在PHP中回显正确的错误消息。当我这样做时,我的AJAX和JQUERY不能正常工作。使用AJAX调用PHP脚本

我JQUERY/AJAX:

 if (email != 0) { 
      // Run AJAX email validation and check to see if the email is already taken 
      $.ajax({ 
       type: "POST", 
       url: "checkemail.php", 
       data: dataString, 
       async: false, 
       success: function(data) { 
        var error= false; 

        if (data == 'invalid') { 
         var invalid= 1; 
        } 
        else if (data == 'taken') { 
         var taken= 1; 
        } 
        if (invalid == 1) { 
         alert('invalid email'); 
         e.preventDefault(); 
        } 
        if (taken == 1) { 
         alert('email taken'); 
         e.preventDefault(); 
        } 
       } 
      }); 
     } 

我的PHP:

<?php 

$email = true 

if ($email == true) { 

    echo "taken"; 

} 


?> 

但是,当我只是把:

echo "taken"; 

的AJAX和JQuery工作完全应该如何和相应的错误消息弹出。 “被采纳”正在被回声,所以我不知道发生了什么。我可能做错了什么?

+1

您应该在向他们发送ajax请求之前测试您的PHP代码。 – idmean

+1

这是[**你**](http://stackoverflow.com/questions/21164490/form-validation-with-jquery-and-ajax#comment31859004_21164490)我想 – asprin

+0

从jQuery 1.8开始,使用'async :'jQuery.ajax()'中的false'已被弃用。 – Merlin

回答

3

你错过了你的分号。

$email = true 

必须

$email = true; 

在你的回应,你可能会得到一个PHP错误 - 除非你的错误消息抑制。