Ir para conteúdo

POWERED BY:

Arquivado

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

brdesigner_gyn

AJAX - Não envia os dados e não retorna nenhum erro

Recommended Posts

Boa tarde galera tô fazendo um envio de dados via ajax, porém os dados não estão sendo postados, mas também não retorna nenhuma mensagem de erro:

 

No firebug apenas fala isso:

 

x POST http://localhost/woodflora/adm/saladeimprensa/salva.php

 

Headers => Response Headers

Post => pretitulo=Mundo&titulo=Uma coisa qualquer&data=&hora=&imagem=&texto=Uma coisa qualquer tb

Response => Loading

 

o script segue abaixo:

 

function ajax()
{
	try {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} catch(e) {
		try {
			return new ActiveXObject("Msxml2.XMLHTTP");
		} catch(ex) {
			try {
				return new XMLHttpRequest();
			} catch(exc) {
				alert("Esse browser não tem recursos para uso do AJAX");
				return false;
			}
		}
	}
}

ajax1 = new ajax;
function inserir(form,resultado)
{
	var qntC=document.getElementById(form).length;
	var vlCampo;
	var dados="";
	var i=0;
	while(tpCampo=document.getElementById(form).elements[i].type!="submit")
		{
			var nmCampo=document.getElementById(form).elements[i].tagName.toLowerCase();
			var tpCampo=document.getElementById(form).elements[i].type;
			if(nmCampo=="input")
				{
					nmCampo=nmCampo=document.getElementById(form).elements[i].name.toLowerCase();
					vlCampo=document.getElementById(form).elements[i].value;
					if((document.getElementById(form).elements[i].disabled==false)&&(tpCampo!="checkbox"))
						{
							if(i<1)
								{
									dados+=nmCampo+"="+vlCampo;
								}
								else
									{
									dados+="&"+nmCampo+"="+vlCampo;
									}
						}
						else if((tpCampo=="checkbox")&&(document.getElementById(form).elements[i].checked==true))
							{
								dados+="&"+nmCampo+"="+vlCampo;
							}
							
				}
				else
					{
						nmCampo=nmCampo=document.getElementById(form).elements[i].name.toLowerCase();
						vlCampo=tinyMCE.getContent(nmCampo);
						dados+="&"+nmCampo+"="+vlCampo;	
					}
			i++;					
		}		
	ajax1.open("POST", "salva.php", true );
	ajax1.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");
	ajax1.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
	ajax1.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
	ajax1.setRequestHeader("Pragma", "no-cache");
	ajax1.send(dados);
	
	ajax1.onreadystatechange = function() 
	  {
		if (ajax1.readyState == 4) 
		   {
		document.getElementById(resultado).style.display ="block";
			document.getElementById(resultado).innerHTML = ajax1.responseText;
			} 
			else 
				{
			 document.getElementById(resultado).style.display ="block";
				 document.getElementById(resultado).innerHTML = "Aguarde, calculando...";
				}
		 }
}

Será que alguém mais experiente poderia me dar uma dica aew!!!!

 

abraços, e valews

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara,

Olhei por alto aqui o seu código e notei algumas coisas,

 

tipo, na hr de você dar o retorno para a pagina, você colocar apenas o readyState == 4, você não compara o status " if (ajax.status == 200) ".

as vezes o status dele ta como 404, que é "pagina não encontrada" e por isso não tem um retorno do documento.

 

Faz o seguinte, faz um teste se a variavel "dados" que retorna as informações pro php, se estão passando dados mesmo, só dar uns alerts para verificar se tem dados nas variáveis.

 

Seria legal você tb postar aqui a parte do seu codigo php onde você recupera as variaveis, as vezes falta algum detalhe que faz diferença.

está usando $_POST['var'] para recuperar os valores ?

 

Uma dica:

 

adicione esse código aqui, é uma função simples, mas ajuda na vizualização e poupa digitar mt

function gE(ID) {
	return document.getElementById(ID);
}

Evita você ter q digitar sempre "document.getElementById('iddocampo')" só por "gE('id')";

 

Espero ter ajudado,

 

 

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kra valew pela dica, e por ter tentado me ajudar kra, bom fiz o q você falo e coloquei a validação porém está dando o seguinte erro:

 

[Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: http://localhost/woodflora/adm/saladeimpre...amp;idNoticia=1 :: anonymous :: line 63" data: no]

 

e eu já procurei pacas e num consegui saber o pq desse erro, postei o script aqui para ficar melhor a leitura:

 

http://pastebin.com/m574d226d

 

se alguém souber como ajeitar isso, por favor.

 

valews aew http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.