Php 在不同的服务器上获得不同的代码结果

Php 在不同的服务器上获得不同的代码结果,php,ajax,Php,Ajax,这是根据答案更新的,但我仍然有一个问题 var dataString = $("#acc_form").serialize(); var action = $("#acc_form").attr('action'); $.ajax({ type: "POST", dataType:"JSON", url: action, data: dataString, success: function(res){ if(res.status === 'error'){

这是根据答案更新的,但我仍然有一个问题

var dataString = $("#acc_form").serialize();
var action = $("#acc_form").attr('action');

$.ajax({
type: "POST",
dataType:"JSON",
url: action,
data: dataString,
success: function(res){
                if(res.status === 'error'){
                    console.log('Error!!!');
                } else{
                    console.log('Success!!!');
                }
            }


});
这是我检查的地方,也是我困惑的地方。我的陈述看来是错误的

$desired_email = strip_tags(@$_POST['email']);
$email_exist_check = mysqli_query($connect, "SELECT * FROM accounts WHERE email='$desired_email'") or die(mysql_error());
$email_exist = mysqli_num_rows($email_exist_check);
if ($email_exist == 0) {
    //performs insert query

    } else {

header('Content-type: application/json');           
$res['status'] = 'error';    

echo json_encode($res);  

            }

非常感谢您的帮助。我不熟悉jQuery和ajax,并且使用json,因为您返回了一个json数组,即使check-email也是无效的。在ajax函数成功的过程中,您需要处理响应数据。错误回调仅在服务器返回头上的状态代码(不是响应数据中的状态)时有效,我称之为解决方案1。在解决方案2中,我通过在PHP代码中返回一个头来解决它

解决方案1:在客户端解决它(javascript)

完整的ajax功能示例:

$.ajax({
                url: 'index.php',
                data: {email: 'vuong@gmail.com'},
                method: 'POST',
                dataType: 'json',
                success: function(res){
                    if(res.status === 'error'){
                        console.log('Error!!!');
                    } else{
                        console.log('Success!!!');
                    }
                }
            });
这是我工作场所的工作

解决方案2:在服务器上解决它(php)

你只需要在两者中选择一次。祝你好运


很抱歉,因为我的英语不好。

显示完整的代码,否则如果(//电子邮件不存在),人们只会在黑暗中刺伤你的
{..
code,因为我假设这是返回
success
的条件。我添加了一些更多的信息。希望这有帮助。我应该在if语句中返回1吗?你确定你的查询没有失败吗?什么是
$desired\u email
..?这是来自表单的。目前,如果电子邮件不存在,它将创建用户并转到cashcheck_order.php。如果它确实存在,它将转到该页面,不创建用户,然后失败。我使用解决方案1,但我仍然感到困惑。你能看看我的编辑吗?我添加了完整的示例ajax函数。请关注它。谢谢。发布了我的ajax。我尝试了你的示例。我的php else语句看起来正确吗?仍然不工作。/我添加了开发视图(网络选项卡)。能否添加视图以在帖子中显示回复?已发布。这是我单击“创建”时得到的全部信息。似乎没有发生什么。如果电子邮件不存在,它将创建帐户。。。
$.ajax({
                url: 'index.php',
                data: {email: 'vuong@gmail.com'},
                method: 'POST',
                dataType: 'json',
                success: function(res){
                    if(res.status === 'error'){
                        console.log('Error!!!');
                    } else{
                        console.log('Success!!!');
                    }
                }
            });
// Add it to before `echo` line
header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error', true, 500);