Jump to content


Photo

Ajax Problema Com _Post Navegador Ie


  • Faça o login para participar
5 replies to this topic

#1 ciadda

ciadda

    12 Horas

  • Usuários
  • 134 posts
  • Sexo:Masculino
  • Localidade:Floripa
  • Interesses:Trocas de informações

Posted 23/04/2010, 15:50

Senhores,

Estou com um problema de envio pelo metodo post no navegador IE.
Só funciona no firefox.

Já revirei tudo quanto é fórum e testei tudo quanto é código e nada funcionou. Somente no Firefox mesmo.

Por favor analisem esse código e veja o que pode ser.

A variável TEXTO é enviada para uma página de processamento. Essa variável não é recebida nesse arquivo quando utiliza o método post apenas no internet explorer.
Quando jogo no _get funciona normalmente.

No firefox funciona normalmente para os dois métodos.

		var texto = TEXTO_SALVO;
		TEXTO_SALVO = texto.replace(/(\r\n|\r|\n)/igm, '<br/>');

		//Atribui à variável 'elemento' o elemento que irá receber a página postada
		var elemento = document.getElementById("salvando"+KEY); 
		var url = "ArquivosSistema/pareceres_salvar.php";
		var campos = "TEXTO_SALVO="+TEXTO_SALVO;
		var ajax2 = openAjax();
		
		//Se o objeto de 'xmlhttp' não estiver true
		if (!ajax2) {
			//Insere no 'elemento' o texto atribuído
			elemento.innerHTML = 'Impossível iniciar o objeto XMLHttpRequest.'; 
			return;
		} else { 
			//Insere no 'elemento' o texto atribuído
			elemento.innerHTML = 'Carregando...'; 
		}

		//Abre a página que receberá os campos do formulário
		ajax2.open('POST', url+"?SIT=SALVAR&ANO="+ANO+"&COD_TURMA="+COD_TURMA+"&PERIODO="+PERIODO+"&COD_DISC="+COD_DISC+"&COD_ALUNO="+COD_ALUNO, true);
        ajax2.setRequestHeader('Content-Type', 'text/plain');
        ajax2.setRequestHeader('Content-Type', 'charset=utf-8');
        ajax2.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        ajax2.setRequestHeader("Content-length", campos.length);
        ajax2.setRequestHeader("Connection", "close");
		//Envia o formulário com dados da variável 'campos' (passado por parâmetro)
		ajax2.send(campos); 

		ajax2.onreadystatechange = function () {
			//Se a requisição estiver completada
			if (ajax2.readyState == 4 || ajax2.readyState == 0) { 		
				//Se o status da requisição estiver OK
				elemento.innerHTML = 'Se o status da requisição estiver OK'; 
				if (ajax2.status == 200) {
					//Insere no 'elemento' a página postada
					elemento.innerHTML = ajax2.responseText; 
					alert("Salvo com sucesso!");
				} else { 
					//Insere no 'elemento' o texto atribuído
					elemento.innerHMTL = 'Página não encontrada!'; 
					alert("Problemas contate o adminsitrador (informatica@escoladailha.com.br!");
				}
			}
		}


Obrigado
Já to ficando louco com isso!
Extra Virtual
Trabalhando por uma web melhor
http://www.extravirtual.com.br

#2 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 23/04/2010, 17:04

em vez de utilizar todo esse código ... porque você não utilizar ajax com o framework JQuery...?

Te pouparia um grande trabalho!

E já é validado para o firefox e o IE!

Quer tentar?

Edição feita por: André Manoel, 23/04/2010, 17:05.

Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#3 ciadda

ciadda

    12 Horas

  • Usuários
  • 134 posts
  • Sexo:Masculino
  • Localidade:Floripa
  • Interesses:Trocas de informações

Posted 23/04/2010, 17:10

qualquer coisa que me ajude!
Extra Virtual
Trabalhando por uma web melhor
http://www.extravirtual.com.br

#4 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 23/04/2010, 17:31

qualquer coisa que me ajude!


Tá no desespero heinnn!!! :(


Olha só ... vc pode fazer assim:

Primeiro baixe a JQuery no site

Framework JQuery

Quando você baixar... você pode colocá-la na sua pasta de javascripts dentro do site.

Você quer usar get ou post no ajax?
Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#5 ciadda

ciadda

    12 Horas

  • Usuários
  • 134 posts
  • Sexo:Masculino
  • Localidade:Floripa
  • Interesses:Trocas de informações

Posted 23/04/2010, 17:39

Devo usar _post. Com _get funcionou.


Preciso que eu consiga chamar uma função tipo atualizardados(dado1, dado3, dado3){ código Jquery utilizando dado1, dado2, dado3}

porque se não terei que mudar toda minha programação.

Fui verificar o erro do get em enviar testos muito grandes somente depois de conlcuir todo sistema que fiz em ajax
e hoje vou virar a sexta feira se não conseguir resolver isso.
Extra Virtual
Trabalhando por uma web melhor
http://www.extravirtual.com.br

#6 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 23/04/2010, 18:14

Devo usar _post. Com _get funcionou.


Preciso que eu consiga chamar uma função tipo atualizardados(dado1, dado3, dado3){ código Jquery utilizando dado1, dado2, dado3}

porque se não terei que mudar toda minha programação.

Fui verificar o erro do get em enviar testos muito grandes somente depois de conlcuir todo sistema que fiz em ajax
e hoje vou virar a sexta feira se não conseguir resolver isso.



OPa............!

Acho que encontramos o X da questão!
Se o texto é muito grande ... ele não irá via GET!
Existem alguns navegadores que limitam o tamanho da requisição do GET!
Faça o seguinte... em vez de mudar para jquery...
Utilize tudo como post...!
Não use ajax com GET... a menos que os campos sejam bem limitados... no caso desse texto grande... envie como post...!
O IE limita o tamanho da requisição do GET!

Se você quiser utilizar O Ajax do JQuery você pode buscar aqui:

http://api.jquery.com/category/ajax/

Este exemplo é ótimo:

http://www.camondong...com-jquery-php/

E este explica

http://docs.jquery.com/Post

A documentação é bem completa!
Veja se consegue!

Abração!
Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.




0 user(s) are reading this topic

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

IPB Skin By Virteq