Ajax redirect dopo script

RecallingTea31

Utente Attivo
11 Feb 2015
40
0
0
Salve, ho uno script ajax che invia dati al file php che effettua login, quando la password è errata restituisce il messaggio password errata , mentre quando la password è giusta dovrebbe restituire un redirect in javascript:

HTML:
<script>document.location.href="welcome.php"</script>
 
Ciao, metti il redirect nella pagina chiamante e lo esegui in base al risultato che ti restituisce la chiamata ajax
Codice:
if(response == "ok") {
     location.href="welcome.php";
}
 
Ciao, se io paragono il response a una stringa anche se è uguale non mi verifica la condizione.
HTML:
function ajax(){
				var username=escape(document.getElementById("textarea").value);
				var password=escape(document.getElementById("textarea1").value);
				
				var ajax=new XMLHttpRequest();
				ajax.open("post","login.php",true);
				ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
				ajax.send("u="+username+"&p="+password);
				ajax.onreadystatechange= function(){
					if(ajax.readyState==4 && ajax.status == 200){
						var response=ajax.responseText;
						if(response == "success"){
							window.location.href="welcome.php";
							}else{
									var response=ajax.responseText;
									document.getElementById("response").style.color="red";
									document.getElementById("response").innerHTML=ajax.responseText;
									if(response=="success"){
										location.href="welcome.php";
										}
								}						
					}
				
			}
		}
 
Scusa ho sbagliato a scrivere
HTML:
function ajax(){
				var username=escape(document.getElementById("textarea").value);
				var password=escape(document.getElementById("textarea1").value);
				
				var ajax=new XMLHttpRequest();
				ajax.open("post","login.php",true);
				ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
				ajax.send("u="+username+"&p="+password);
				ajax.onreadystatechange= function(){
					if(ajax.readyState==4 && ajax.status == 200){
						var response=ajax.responseText;
						if(response == "success"){
							location.href="welcome.php";
							}else{
									document.getElementById("response").style.color="red";
									document.getElementById("response").innerHTML=ajax.responseText;
								}						
					}
				
			}
		}
 
may be ... altrimenti criric mi corregge,
PHP:
if(response.indexOf("uccess"))
con la "s" volutamente omessa per evitare l'eventuale posizione 0
 
perché potrebbe trovarsi nella prima posizione della stringa che per la funzione equivale a 0 e l'if va dove non deve
(differenze tra server apache e iis)
 
Puoi spiegare dov'era il problema ? potrebbe essere d'aiuto ad altri utenti :fonzie:
 

Discussioni simili