Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Capones

[Resolvido] Problemas no valor do Status em ajax

Recommended Posts

Galera, estou avançando meus conhecimentos e, por conhecer javascript, comecei a estudar ajax.

Porém, no inicio do estudo, depois de entender o que acontece com os metodos do objeto XMLHttpRequest, surgiu um problema:

 

Eu mando o objeto retornar => request.status == 200 - como todos fazem..porem, o script nao avança. Tentei depurar colocando um alert para saber o que ele tava retornando, resultado: retorna 0 (zero). Tentei depurar novamente com statusText, resultado: no firefox fica sem nada o alert e no IE, aparece unknow.

Segue o codigo simples abaixo:

//criando o objeto XMLHttpRequest
		
		var request = null;
			if(window.XMLHttpRequest)
			{
				try
				{
					request = new XMLHttpRequest();
										
				}
				catch(e)
				{
					request = null;
				}
			}
			//Agora no IE
			else if(window.ActiveXObject)
			{
				try
				{
					request = new ActiveXObject("Msxml2.XMLHTTP");
				}
				catch(e)
				{ //Para versoes mais antigas do IE
					try
					{
						request = new ActiveXObject("Microsoft.XMLHTTP");
					}
					catch(e)
					{
						request = null; 
					}
				}
			}
			
			//objeto AjaxRequest(), maneira facil de usar o objeto XMLHttpRequest
			
			function mudaPagina(pagina, objId)
			{
				
				var campo = document.getElementById(objId);
								
				//abre a requisiçao
				request.open("GET", pagina); // para assincronos => true
				
				//seta funçao que será chamada quando mudar de estado
				request.onreadystatechange = function() 
				// ou request.onreadystatechange = nome_da_funcao
				{
					if(request.readyState == 1){
						campo.innerHTML = 'carregando...';
					}
					else if(request.readyState == 4 ) // 4 => recebido / 200 => OK
					{
						if(request.status == 200) 
                                             AQUI ESTÁ O PROBLEMA - NAO É IGUAL A 200 => É ZERO 
						{
						
						}
						else
						{
							alert(request.statusText); // NAO RETORNA NADA
						}
					}
				
					
				} 
				
				//inicia transporte
				request.send(null);
				}

Obrigado a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera...desculpem a besteira..mas ja descobri o erro..acho que com um pouco mais de atençao teria resolvido.

Entendi o porque...

Como o xmlhttprequest com o open() faz uma solicitação ao servidor, entao preciso estar usando o codigo sendo lido por algum servidor, como no caso, eu uso o apache, pois programo em php...

 

De qualquer forma, sempre aparece alguem com o mesmo problema..

entao, tá ai o problema e a solução do problema

 

mesmo assim, obrigado a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.