Jump to content


Photo

Redireccionar Com Ajax


  • Faça o login para participar
1 reply to this topic

#1 ThinkBrunus

ThinkBrunus

    Normal

  • Usuários
  • 89 posts
  • Sexo:Masculino

Posted 26/05/2009, 07:44

Viva!
Após ter desenvolvido com sucesso e com a vossa ajuda um login em AJAX+PHP, estou a tentar outra forma a adaptar num painel de administração do site.
Desta forma pretendo autenticar o user e depois reddireccionar para a página admin.php.

Estou a pensar em adaptar o código já desenvolvido. Com base no código abaixo,

xmlHttp.onreadystatechange = function(){
		if (xmlHttp.readyState == 4) {
			if (xmlHttp.responseText == 0){
				alert('Dados incorrectos!');
			} else if (xmlHttp.responseText == 2){
				document.getElementById("iBlockUser").innerHTML = alert('Área reservada a utilizadores!'); document.location.reload(true);
			} else {
				document.getElementById("iBlockUser").innerHTML = document.location.reload(true);
			}
		}
	}

a ideia é após validar o user, em vez de escrever no iBlockUser, redireccionar para a página admin.php.
Estou à procura de solução para esta situação, alguém poderia dar alguma sugestão?
Obrigado!

Estou a tentar o seguinte código:

xmlHttp.onreadystatechange = function(){
				if (xmlHttp.readyState == 4) {
						if (xmlHttp.responseText == 0){
								alert('Dados incorrectos!');
						} else if (xmlHttp.responseText == 2){
								document.innerHTML = alert('Área reservada a utilizadores');
								document.location.reload(true);
						} else {
								document.innerHTML = window.open('admin.php','Painel Administração','width=800,height=500');
						}
				}
		}

Apenas não está a funcionar no IE7, no FF está porreiro!

Resolvido!

document.innerHTML = window.location = ("admin.php");

Edição feita por: ThinkBrunus, 26/05/2009, 07:28.


#2 dark tranquility

dark tranquility

    Novato no fórum

  • Usuários
  • 8 posts
  • Sexo:Não informado

Posted 15/08/2009, 04:11

Não sei como você fez para este código executar no Firefox, mas estou tentando assim e também não está adiantando:

<script>
   var http_request = false;
   function makeRequest(url, parameters) {
	  http_request = false;
	  if (window.XMLHttpRequest) { // Mozilla, Safari,...
		 http_request = new XMLHttpRequest();
		 if (http_request.overrideMimeType) {
		 	// set type accordingly to anticipated content type
			//http_request.overrideMimeType('text/xml');
			http_request.overrideMimeType('text/html');
		 }
	  } else if (window.ActiveXObject) { // IE
		 try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		 } catch (e) {
			try {
			   http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		 }
	  }
	  if (!http_request) {
		 alert('Cannot create XMLHTTP instance');
		 return false;
	  }
	 /* http_request.onreadystatechange = alertContents;
	  http_request.open('GET', url + parameters, true);
	  http_request.send(null); */
	  
	  http_request.onreadystatechange = results;
	  http_request.open('POST', url, true);
	  http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	  http_request.setRequestHeader("Content-length", parameters.length);
	  http_request.onreadystatechange = function() {
		  //função para tratar a resposta do servidor
		  if(http_request.readyState==1) {
			 // this.document.getElementById("loading").style.visibility="visible";
			 // document.getElementById("result").innerHTML="<img src='/med-images/images/person/loading.gif'/>";
		  }
		  if(http_request.readyState==4) {
			 // this.document.getElementById("result").style.visibility="hidden";
			 if(http_request.responseText == 3) {
				 document.getElementById('myform').reset();
				 document.location.href='teste.jsp';
			 }
			/* if(http_request.status==200) {
				 result = http_request.responseText;
				 document.getElementById('result').innerHTML = result;
			 } else {
				 document.getElementById("myform").reset();
			 } */
		  }
	  } 

  http_request.setRequestHeader("Connection", "close");
  http_request.send(parameters);	
  
  }		  

	
// Função para mostrar os resultados
function results(){
	if(http_request.readyState==4) {
		 if (http_request.status == 200) {
			document.getElementById('result').innerHTML = http_request.result;
		} else {
			alert('problemas ao submeter!');
		}		   
	}
	   
}

   function get(obj) {
	  var getstr = "?" +
		  "&nome=" + encodeURI( document.getElementById("nome").value ) +
		  "&senha="+ encodeURI( document.getElementById("senha").value );
	  makeRequest('teste.jsp', getstr);
   }
   
</script>
</head>
<body>
<form action="java script:get(document.getElementById('myform'));" name="myform" id="myform" method="post">
	<input name="nome" type="text" id="nome" size="40" maxlength="15" />
	<br />
	<input name="senha" type="text" id="senha" size="40" maxlength="15" />
	<br />
	<input type="button" name="botao" id="botao" value="Testar" onclick="java script:get(this.parentNode);">
</form>
<div id="result"></div>
	</body>
</html>

Alguém pode me ajudar e simplificar mais este código e a resolver o problema de redirecionamento de acordo com a resposta informada no campo "result"?

obrigado.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq