2013-08-31 3 views
0

RESOLU - va ajouter sa propre réponse et marquer comme résolu.jQuery succès d'appel Ajax puis ré-directe

Lors d'un appel Ajax/JSON réussi ET lorsqu'une variable jQuery a une certaine valeur - est-il possible de rediriger vers une autre page?

Par exemple [extrait de code uniquement - pas de code complet, pour économiser l'espace]:

if(json.response.status == 'success') { 
        if($page == 'ten'){ 
         window.location.replace("finish.php"); 
        }else{ 
         $('.sequence-container div').hide().delay(2000); 
         $next.show().delay(2000); 
        } 

       } 

Le code ci-dessus est de sauver la DB correctement mais quand il fait et$page == 'ten' il ne faire la redirection. J'ai le sentiment que Ajax fonctionne mal, mais que je pourrais utiliser des retours si possible. Merci.

+0

Avez-vous mis une alerte et testé à l'intérieur de la condition if? comme 'if ($ page == 'ten') {alert ('est arrivé à if ...')}' –

+0

Donc '$ page' n'est pas égal' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' –

+0

Alert affiche $ page = 'dix'. –

Répondre

0

Alors que $page = 'ten' sans un autre div sur ma page, le code ne tirera pas. Par souci de simplicité et en raison des contraintes de temps, j'ai ajouté la div et je passerai en revue la page $ pour voir ce qui se passe.

0

Essayez celui

if(json.response.status == 'success') { 
       if($page == 'ten'){ 
        window.location.href="finish.php"; 
       }else{ 
        $('.sequence-container div').hide().delay(2000); 
        $next.show().delay(2000); 
       } 

      } 

Il devrait fonctionner. Fonctionne pour moi :)

+0

Merci de répondre mais pas de joie. –

0

Essayez d'utiliser l'URL complète comme: http://yourdomain.com/finish.php, par exemple.

if(json.response.status == 'success') 
{ 
    if($page == 'ten') 
    { 
     window.location.replace("http://yourdomain.com/finish.php"); 
    } 
    else 
    { 
     $('.sequence-container div').hide().delay(2000); 
     $next.show().delay(2000); 
    } 
} 
+0

Malheureusement, ne fait aucune différence. –

0
if(json.response.status == 'success') { 
       if($page == 'ten'){ 
        window.location = "./finish.php" 
       }else{ 
        $('.sequence-container div').hide().delay(2000); 
        $next.show().delay(2000); 
       } 

      } 

Vous pouvez utiliser cette aswell.