Se connecter avec ajax jquery

J’ai un problème avec une simple connexion avec ajax, apparemment tout va bien, mais je ne sais pas ce qui ne va pas, car je dois envoyer un message au client pour lui indiquer que les informations utilisateur sont correctes, puis redirect vers la page principale.

Code source

   <meta http-equiv='Content-type' content='text/html; charset=' /> Red Social Basica       
Login
User/Email Password Enter
Sign up
$(document).ready(function(){ $('#lnklogin').click(function() { $('#dvlogeo').fadeToggle(200, function() { var divID = $('#dvlistipopubs'); var openDiv = $(this).is(':visible') ? divID : null; }); return false; }); $('#lnkenter').click(function() { var usremail=$('#txtusremail').val(), password=$('#txtpassword').val(); $.ajax({ type: 'POST', url: "account/login.php", data: 'usremail=' + usremail + '&password=' + password, success: function(data) { if(data=='ok'){ document.location="account/main.php" }else{ alert('Access denied'); } } }); return false; }); });

J’ai utilisé firebug pour vérifier la réponse du serveur et j’imprime «ok» si l’utilisateur et le mot de passe sont corrects et une erreur en cas d’erreur, le problème est que cela ne fonctionne pas ici

 success: function(data) { if(data=='ok'){ document.location="account/main.php" }else{ alert('Access denied'); } } 

La solution que j’ai trouvée était celle-ci, en utilisant json

dans mon ajax

  $.ajax({type: 'GET', dataType: 'json', url: "login.php", data: 'usremail=' + usremail + '&clave=' + clave }).done(function(data) { if (data.mensaje == "ok") { document.location = "index.php"; } else { $('#dvmsjlogin').html(data.mensaje); } }); 

dans mon php

 if ($auth->authenticate()) { $res['mensaje'] = 'ok'; }else{ $res['mensaje']='error'; } echo json_encode($res); 

essayez d’utiliser ce code avec fonction (texte de la réponse);)

 success:function(responseText){ // Get the result and asign to each cases if(responseText == ok){ document.location="account/main.php" ; } else{ alert('Access denied'); } } });