2016-11-08 24 views
2

我有一个简单的注册表单。我想实现的是当PHP的输出是success然后做一些事情。否则做别的。无论在AJAX中。我希望你能帮助我,因为我在jQuery和AJAX如何使用AJAX访问从PHP到jQuery的字符串

这是我的PHP这种形式的一部分,全新:

if ($kontrolaMenoPocet != 0) { 
    $error[] = "<p class='text_chyba'>Takéto meno už existuje!</p>"; 
} 
if ($pocetZnakovNick > 15) { 
    $error[] = "Nick môže mať maximálne 15 znakov!"; 
} 
if ($kontrolaEmailPocet != 0) { 
    $error[] = "<p class='text_chyba'>Takýto E-mail sa už používa</p>"; 
} 
if ($pocetZnakovHeslo != 0 AND $pocetZnakovHeslo < 6) { 
    $error[] = "Heslo musí mať minimálne 6 znakov"; 
}elseif ($pocetZnakovHeslo == 0) { 
    echo ""; 
} 
if ($heslo != $hesloZnova) { 
    $error[] = "Hesla sa nezhodujú"; 
} 
if (empty($error)) { 
    //writte into database 
} 
if (isset($error)) { 
    if (empty($error)) { 
     echo "Success"; 
    }else{ 
     foreach ($error as $chyba) { 
      echo $chyba; 
     } 
    } 
} 

,这是我的jQuery与AJAX:

if (nick == '' || email == '' || heslo == '' || hesloZnova == '') { 
    $('.registracia_form .nick, .email, .password, .password_again').addClass('inputError'); 
} else { 
    $.ajax({ 
     method: 'post', 
     url: 'PHP/register.php', 
     data: data, 
    }).done(function(data) { 
     console.log("success"); 
    }).fail(function() { 
     console.log("error"); 
    }).always(function() { 
     console.log("complete"); 
    }); 
} 

回答

2

.done()回调更改为:

.done(function(data) { 
    console.log(data); 
    if (data === 'Success') { 
     // do something 
    } else { 
     // do something else 
    } 
}) 
+0

它的工作原理。谢谢,你救了我的命。 – ludvik120

+0

请将答案标记为已接受? – Marco

0

在PHP中,当出现错误时,使用http_response_code函数来设置除200以外的状态码,以便调用ajax中的fail函数。