header redirect

Discutii legate de AJAX, jQuery, MooTools, Prototype, Dojo, Yahoo! UI Library,script.aculo.us, ExtJS,AngularJS, Backbone.js, Ember.js, KnockoutJS

Moderator: Moderatori

z.m
Senior Member
Mesaje: 339
Membru din: Vin Feb 25, 2005 12:51 pm

header redirect

Mesajde z.m » Vin Mar 30, 2007 6:05 pm

Am facut si eu un mic script in ajax ce trimite datele unui formular de contact.
Problema e ca in scriptul php care verifica datele,vreau ca dupa ce este trimis email-ul,sa fie redirectat la alta pagina.Am folosit header() dar nu face nimic,ci apare mesajul care l-am pus cand se proceseaza datele:"Wait...",si ramane neschimbat.Daca scot header() in schimb merge.
Si mai am o problema.Scriptul nu merge pe ie,numai pe mozilla.Desi am folosit:
if(window.XMLHttpRequest)
{
req = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
req = new ActiveXObject("Microsoft.XMLHTTP");
}



johnutz
Senior Member
Mesaje: 956
Membru din: Mar Iul 20, 2004 9:23 am
Localitate: Între scaun şi tastatură

Mesajde johnutz » Sâm Mar 31, 2007 12:37 am

Pai de ce mai vrei redirectare daca ai ajax? Nu era mai bine daca aveai un formular normal, conventional?

Si daca redirectarea aia ai pus-o in script-ul pe care il acceseaza XMLHTTPRequest, atunci nu e bine. Pune un document.location="unde_vrei_tu" dupa cererea XMLHTTP.

Totusi, ce rost are sa faci un simplu formular de trimis mailuri cu ajax?
asta e de cand eram tanar :P

z.m
Senior Member
Mesaje: 339
Membru din: Vin Feb 25, 2005 12:51 pm

Mesajde z.m » Sâm Mar 31, 2007 2:07 am

Pentru ca daca formularul e completat corect,afisez un gif de genul loading,si mesajul "Sending Email...".Dupa ce trimite emailul problema e ca acel gif apare in continuare,si si mesajul.Puteam pune in loc de asta "Email Sent",cum ar trebui de fapt,dar arata mai bine cu gif-ul ala:).Nu am inteles unde trebuie exact pus window.location.Daca il pun dupa raspunsul primit de la server in cazul in care formularul nu e completat corect mi se afiseaza initial mesajul de eroare si apoi redirecteaza,ceea ce nu e bine.

Avatar utilizator
Copyright
Senior Member
Mesaje: 869
Membru din: Dum Dec 17, 2006 7:24 pm
Localitate: Bucuresti
Contact:

Mesajde Copyright » Sâm Mar 31, 2007 10:31 am

Dupa ce trimiti mail-ul in fisierul php, dai un echo de genu:
echo 'Email sent';

iar in functia handler din javascript verifici raspunsul server-ului si daca sa trimis mail-ul schimbi gif-ul si faci redirectionarea cu document.location

Cod: Selectaţi tot

if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
         if(xmlhttp.responseText == 'Email sent') {
           // shimba giful sending_email cu email_sent            
             document.getElementById('giful_tau').src = 'email_sent.gif';
           // redirectionare catre pagina.php
             document.location = 'paginna.php';
           }         
}
Later.

Avatar utilizator
Amenthes
Senior Member
Mesaje: 1370
Membru din: Lun Dec 12, 2005 8:00 am
Contact:

Mesajde Amenthes » Dum Apr 29, 2007 9:38 pm

Nici eu nu inteleg de ce vrei redirect cu Ajax. O validare cu javascript si apoi submit la form daca totul e ok nu era mai bine? Chiar e multa bataie degeaba. Ori il faci numai Ajax sa stii o treaba ori clasic. Nu am nevoie de loading sa stiu ca imi trimiti mesajul, daca vad pagina ca se... loadeaza :) imi dau seama. Sau... ca tot iti place sa te incurci :) cand apasa submit daca totul e in regula afiseaza o imagine (dummy) de loading dar fara Ajax in spate si de abia cand faci redirectul... trimiti si mesajul in mod clasic, in noua pagina pe care o incarci, fara Ajax.


Înapoi la “Librarii Javascript”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 7 vizitatori