2013-04-19 4 views
0

J'ai un site Web qui a un formulaire de connexion et je veux qu'il utilise AJAX et PHP, le fichier de travail AJAX et PHP scripts, bien la plupart, mais quand j'essaie de rediriger vers une nouvelle page J'ai un problème.Ouvrir une nouvelle page Web en utilisant js

Le problème est que je suis en utilisant

document.getElementById("signup_form").innerHTML = xhr.responseText; 

mettre à jour le signup_form div, donc si quelque chose allait mal, je peux écrire à une partie de la page Web. Toutefois, lorsque les détails de connexion sont corrects, il charge la nouvelle page à côté de cette petite div en haut à droite de mon site Web .....

Dans mon script PHP si les informations de connexion sont correctes, j'utilise l'emplacement pour rediriger et je J'ai aussi essayé avec cURL, mais franchement, je ne sais pas trop comment s'y prendre.

Je veux que toute la page passe de www.something.com à www.something.com/members au lieu de la charger sur la page www.something.com. Aussi je stocke des données de session ainsi je ne veux pas perdre ceci en allant à une nouvelle page.

Toute aide et tutoriels seraient plus que bienvenus, je suis en train d'apprendre js et AJAX.

merci pour votre aide.

+0

http://www.w3schools.com/js/tryit.asp?filename=try_win_focus –

Répondre

1

Si vous utilisez AJAX, vous ne pouvez pas et vous ne devez pas rediriger du côté serveur/php en utilisant l'emplacement d'en-tête. Au lieu d'utiliser

window.location 

propriété de javascript pour cette après avoir reçu une réponse réussie. Quelque chose comme ça

window.location = "www.something.com/members"; 
+0

Pourquoi ne pas rediriger du côté serveur? – ragebunny

+1

Parce que vous faites un appel ajax et votre appel ajax attend la réponse. Et il ne terminera jamais le processus si vous ne renvoyez pas la réponse. –

+0

c'est un bon point, merci j'essaierai de l'implémenter maintenant. – ragebunny

Questions connexes