Mysql
 sql >> Base de données >  >> RDS >> Mysql

renvoie mysql echo comme erreur dans ajax

Veuillez avoir une compréhension claire du rappel de succès de jquery.Ajax. La documentation dit :Une fonction à appeler si la requête aboutit.

Dans votre cas, la demande aboutit si le nom d'utilisateur et le mot de passe saisis sont erronés.

Pour le faire fonctionner correctement, changez votre code php de cette partie en :

$redirect = '';
if($UserData['UserName'] != '')
{
    session_start();
    $error = 0;
    $message = 'Valid';
    $_SESSION['UserId'] = $myusername;

    $typ = $UserData['Type_user'];

    if($typ == "Dealer")
    {
        $redirect = 'Dealer/EditLoginDetails.php';
    }
    else if($typ == "Individual")
    {
        $redirect = '/Dealer/EditLoginDetails.php';
    }
    else
    {
        $redirect = '/Builder/managep.php';
    }
}
else
{
    $error = 1;
    $message = 'Invalid username or password';
}

echo json_encode(array('error' => $error, 'message' => $message, 'redirect' => $redirect));

Et le code jquery à,

$.ajax({
    url : formURL,
    type: "POST",
    data : postData,
    dataType:'json',
    success:function(data, textStatus, jqXHR) {
        if(data.error == 1) {
            $("#simple-msg").html('<pre><code class="prettyprint">'+data.message+'</code>< /pre>');
        } else {
            window.location = data.redirect;
        }
    }
});
'); } else { window.location =data.redirect ; } }});