Ir para conteúdo
Fórum Script Brasil

Heric Girardello

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Heric Girardello

Heric Girardello's Achievements

0

Reputação

  1. Pessoas, Um cliente me pediu para fazer um formuláriozinho onde ele pudesse enviar um comunicado para os usuários do site, ele tinha uma versão anterior onde era orbigado a selecionar 50 por vez e ficar acionando o botão. Resolvi então fazer uma funcionalidade utilizando ajax. O problema é que só envia uma unica vez e apenas para uma pessoa. Se eu limpo o cache do browser e tentop de novo ele envia. já coloquei algumas flags onde eu mudo a informação enviada e sei que foi enviada para a função corretamente, mas o retorno é como se eu tivesse enviado d enovo a mesma coisa, e pior.. não envia. :blink: Segue o código das funções de ajax: ///////////////////////////////////////////////////////////////////////// //Função que cria o objeto de requisição e retorna para a função que vai //fazer a requisição da página ////////////////////////////////////////////////////////////////////////// function getObjectHttp(){ var m_xmlhttp; try { m_xmlhttp = new XMLHttpRequest(); } catch (e) { try { m_xmlhttp = new ActiveXObject("Msxml2.XMLHTTP") } catch(e) { var success = false; var MSXML_XMLHTTP_PROGIDS = new Array( 'Microsoft.XMLHTTP', 'MSXML2.XMLHTTP', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0' ); for (var i=0;i < MSXML_XMLHTTP_PROGIDS.length && !success; i++) { try { m_xmlhttp = new ActiveXObject(MSXML_XMLHTTP_PROGIDS[i]); success = true; } catch (e) { m_xmlhttp = null; } } } } return m_xmlhttp; } function delObjectHttp(obj){ if(obj) delete(obj); } ///////////////////////////////////////////////////////////////////////// //Funções para fazer a requisição de página ////////////////////////////////////////////////////////////////////////// function requestPage(url, destino, execafter, msg){ if(msg)destino.innerHTML = "<br><br><span class=mensagemajax>carregando...</span><br><br>" var objhttp = new getObjectHttp(); if(objhttp){ objhttp.open("GET",url,true); objhttp.onreadystatechange=function() { if (objhttp.readyState==4) { if (objhttp.status == 200){ alert(objhttp.responseText); destino.innerHTML = objhttp.responseText; //destino.innerHTML = "Enviado e-mail " + (cont + 1) + " de " + vetEmail.length; delObjectHttp(objhttp); if(execafter) after_request(); } else{ destino.innerHTML = "<br><br><span class=mensagemajax>ERRO cod 02</span><br><br>" } } } objhttp.setRequestHeader('Accept','message/x-jl-formresult'); objhttp.setRequestHeader("Content-type", "text/html;application/x-www-form-urlencoded"); objhttp.setRequestHeader("Connection", "close"); objhttp.send(null); } else{ destino.innerHTML = "<br><br><span class=mensagemajax>ERRO cod 01</span><br><br>"; } return false; } e agora a parte onde eu chamo varias vezes mudando o e-mail destino: function sendMail(){ //document.getElementById("destMsg").innerHTML += "<br>Enviando email 1 de " + vetEmail.length + " "; Cookie_Expire("destino"); Cookie_Set("destino", vetEmail[cont]); alert(Cookie_Get("assunto") + " - " + Cookie_Get("destino")); //document.getElementById("destMsg").innerHTML = "../_funcoes/auto_mail.asp?destino=" + vetEmail[cont] + "&assunto=" + document.frmAvaliacao.edtAssunto.value + "&corpo=" + document.frmAvaliacao.edtTexto.value + "&txtMensagem=Enviado"; requestPage("../_funcoes/auto_mail.asp?destino=" + vetEmail[cont],document.getElementById("destMsg"),true,""); //alert("../_funcoes/auto_mail.asp?destino=" + vetEmail[cont] + "&assunto=" + document.frmAvaliacao.edtAssunto.value + "&corpo=" + document.frmAvaliacao.edtTexto.value + "&txtMensagem=Enviado"); } function after_request(){ cont++; if (cont < vetEmail.length){ sendMail(); } else { //document.getElementById("destMsg").innerHTML = "ENVIO CONCLUÍDO"; Cookie_Expire("destino"); Cookie_Expire("assunto"); Cookie_Expire("corpo"); } } Não sei mais o que testar. Alguém tem alguma sugestão ?? Eu na realidade hoje estou "aposentado", sou programador da época no notepad ainda.. então não uso nenhuma ferramenta decente de depuração.. é terrivel achar um erro desse jeito.. agradeço muito qualquer ajuda... Obrigado
×
×
  • Criar Novo...