Jump to content


Photo

Post No Ajax (c/ Varias Variaveis)


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

#1 Felipe Barbieri

Felipe Barbieri

    Novato no fórum

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

Posted 13/10/2006, 14:49

estou precisando enviar um formulario por POST (pois o conteudo de um dos campos é muito grande)

trata-se de um editor onde será salvo automaticamente a cada dois minutos, por isso preciso usar o ajax ao invés de dar refresh na pagina....

segue o codigo:

function editor_gravar(){
	var conteudo = document.getElementById("statusbar");
	
	var http;
	if (window.XMLHttpRequest) {
		http = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		http = new ActiveXObject("Microsoft.XMLHTTP");
	}
	conteudo.innerHTML='<div class="carregando">carregando...</div>';
	//Abre a url
	var url = "/webconsole/comum/operacoes/op_ajax.php"; //ENDEREÇO DA PÁGINA ONDE SERÁ REDIRECIONADA
	http.open("POST", url,true);
	http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
	http.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
	http.setRequestHeader("Pragma", "no-cache");
	//$tabela,$data,$hora,$id_editoria,$id_autor,$id_fotos,$titulo,$texto,$status,$andamento,$id_noticia
	http.send("id=editor_gravar","data=" + document.getElementById("formeditor_data").value,"hora=" + document.getElementById("formeditor_hora").value,"id_editoria=" + document.getElementById("formeditor_editoria").value,"id_autor=" + document.getElementById("formeditor_autor").value,"id_fotos=" + document.getElementById("formeditor_fotos").value,"titulo=" + document.getElementById("formeditor_titulo").value,"status=" + document.getElementById("formeditor_estados").value,"andamento=" + document.getElementById("formeditor_andamento").value,"id_noticia=" + document.getElementById("formeditor_idnoticia").value);
	
	//Executada quando o navegador obtiver o código
	if (http.readyState == 4) {
		if (http.status == 200) {
		var data = new Date();
		var hora = data.getHours();
		var minu = data.getMinutes();
		var segu = data.getSeconds();
		var hora = hora + ':' + minu + ':' + segu;
				conteudo.innerHTML='<div class="carregando">Salvo as ' + hora + '</div>';
			} else {
				alert('There was a problem with the request.');
			}
	} 
	
}

só que na pagina destino não chega nada!!!

obrigado,

Felipe
Felipe Barbieri

#2 The X

The X

    Novato no fórum

  • Usuários
  • 18 posts
  • Sexo:Não informado
  • Localidade:Muscatine, IA

Posted 15/11/2006, 16:42

estou precisando enviar um formulario por POST (pois o conteudo de um dos campos é muito grande)

trata-se de um editor onde será salvo automaticamente a cada dois minutos, por isso preciso usar o ajax ao invés de dar refresh na pagina....


:wacko:
Já tentou montar um xml com o conteúdo do seu form? :D

EDIT: Cade os sinais de concatenação da sua queryString?

ERRADO (with ','):
http.send("id=editor_gravar","data=" + document.getElementById("formeditor_data").value, "hora=" ...

CORRETO (add '+' and '&'):
http.send("id=editor_gravar","data=" + document.getElementById("formeditor_data").value + "&hora=" ...

Edição feita por: The X, 15/11/2006, 16:48.

. N E T ||||||||||||||||| |||| ||||||||||||||||||||||||||||| ||| |||| |||||||||||||||||||||||||| |||||||||||||||| ||||||||||||||||||||||
...sem argumentos? Néeeeeeeeeeeeeeeeeeeeeeext!




1 user(s) are reading this topic

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

IPB Skin By Virteq