Login:

iMasters | Por uma internet mais criativa e dinâmica

Feeds

Ajax

Feed da seção Ajax

Newsletter de Ajax


Sexta-feira, 26/05/2006 - 11:33 - Por Rafael Martin
Seções relacionadas:

AJAX com ASP

Nesse artigo vou mostrar como usar AJAX com ASP. Não é muito comum (pelo menos por enquanto), porém muito útil. Passarei um exemplo bem simples onde, a partir dele, vocês podem começar a estudar mais a fundo AJAX. Vamos lá!

Crie uma página onde tenha um botão, por exemplo. Nesse botão, você chamará uma função chamada enviaPage(), para enviar os dados via GET, mas vocês podem usar qualquer outro tipo de função que acharem melhor. É que, no caso, eu utilizo funções diferentes para enviar dados via GET e via POST.

<input type="button" name="excluir" value="Excluir id 21" onclick="enviaPage('excluir.asp', 'GET', 'true', 'conteudo','action=excluir&id=21')">

A função que citei, enviaPage(), concatenará os parâmetros com a url e colocará um Math.random(), que evita que fique no cachê.

<script>
function enviaPage(url, metodo, modo, tagId, parametros)
{
    goAjax( url+"?"+parametros+"&rnd"+ Math.random() , metodo, modo , tagId);
}
</script>

Agora, vem toda a função Ajax, que será responsável por tudo.

function goAjax(url, metodo, modo, tagRetorno, parametros) {
        document.getElementById(tagRetorno).innerHTML='<div align="center" class="carregando"><img src="../images/carregando.gif"><br /><br />carregando...</div>'

            if(metodo == "GET") {
                xmlhttp.open("GET", url, modo);
            } else {        
                xmlhttp.open("POST", url, modo);
                xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");
                xmlhttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
                xmlhttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
                xmlhttp.setRequestHeader("Pragma", "no-cache");
            }    
            
            xmlhttp.onreadystatechange = function() {
                if(xmlhttp.readyState == 4) {
                    retorno=xmlhttp.responseText
                    document.getElementById(tagRetorno).innerHTML=retorno
                    findScript(retorno)
                }
            }
            if(metodo == "GET") {
                xmlhttp.send(null);
            } else {        
                xmlhttp.send(parametros);
            }
}

Vamos desenvolver a página asp, que realizará a exclusão dos registros, por exemplo. Veja que essa página é aquela que informa no botão, quando passo os parâmetros, enviando o retorno para a div que especifiquei no botão, que é o conteúdo.

<%
action = request("action")
id = request("id")

if action = 'excluir' then
     'exclui id tal
ok = true
end if
response.write "<script>enviaPage('OK.asp', 'GET', 'true', 'mensagem','ok="& OK &" ');<script>"
%>

Percebam que o exemplo que passei é bem simples mesmo, como eu já tinha dito. E a partir disso, dá para vocês começarem a desfrutar e inventar mais coisa de ASP com AJAX. É uma forma de desenvolver sem recarregar determina página, e consome menos do servidor. Será muito utilizado futuramente. No próximo artigo, vou mostrar mais sobre como usar ASP com AJAX e sua utilização.

Viu como é fácil? Até o próximo artigo.

Todos os artigos de Rafael Martin

8 comentários publicados

  • 1. Bem legal...

    Segunda-feira, 29/05/2006, por Cristiano Nascimento

    Você poderia entrar mais em detalhes sobre este assunto, embora eu ache que ajax não passe muito disso mas derrepente eu esteja errado, parabéns pela matéria.

    Responder comentário
  • 2. Materia Mal detalhada

    Terça-feira, 30/05/2006, por Paulo Ronaldo

    Concordo plenamente com o Cristino, apesar de começar a estudar agora o AJAX achei que a materia esta muito pouco detalhada e faltando trechos.
    Para quem esta começando esta materia não ajuda muito.

    Responder comentário
  • 3. Muito boa

    Sexta-feira, 02/06/2006, por Patrique Andre

    Continue assim!

    Matéria muito boa!

    Responder comentário
  • 4. Esclarecedor

    Quinta-feira, 15/06/2006, por Cezar Alves Lopes

    Muito boa esta matéria.
    Realmente, AJAX não passa muito disso.
    Dá pra implementar melhor algumas coisas descritas aqui, mas tá muito boa. Parabéns pela interação do próprio portal com AJAX

    Responder comentário
  • 5. Bem limitada

    Quinta-feira, 13/07/2006, por Alan Daniel Weiss

    bom ajax nao passa disto, mas existem coisas q tem q ser comentadas, como o Contet-type caso seja um .aps
    os expires e talz
    mas parabens ^^

    Responder comentário
  • 6. Bueno

    Quarta-feira, 24/01/2007, por otavio nogueira

    Muito bueno o artigo, para se entender a raiz do funcionamento, porém hj em dia é muito mais fácil você utilizar um framework como ajaxbox.com.br ou script.aculo.us . mas ta bueno... valeus

    Responder comentário
  • 7. Nao consegui utilizar

    Sexta-feira, 25/01/2008, por Rai Rabelo

    Não consegui colocar p funcionar, nesta parte mesmo do agora vem a função AJAX, onde coloco isso ?

    Acredito que este artigo seja p quem queria iniciar, nao p quem ja conhece.

    Responder comentário
  • 8. Pra quem nao conseguiu fazer funcionar

    Quarta-feira, 13/08/2008, por Claudio Rafael Emerenciano

    function goAjax(url, metodo, modo, tagRetorno, parametros) {
    document.getElementById(tagRetorno).innerHTML='<div align="center" class="carregando"><img src="carregando.gif"><br /><br />carregando...</div>'



    function createXMLHTTP()
    {
    try
    {
    ajax = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch(e)
    {
    try
    {
    ajax = new ActiveXObject("Msxml2.XMLHTTP");
    alert(ajax);
    }
    catch(ex)
    {
    try
    {
    ajax = new XMLHttpRequest();


    }
    catch(exc)
    {
    alert("Esse browser não tem recursos para uso do Ajax");
    ajax = null;
    }
    }
    return ajax;
    }





    var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0",
    "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP",
    "Microsoft.XMLHTTP"];
    for (var i=0; i < arrSignatures.length; i++) {
    try { var oRequest = new ActiveXObject(arrSignatures[i]);
    return oRequest;
    } catch (oError) {
    }
    }

    throw new Error("MSXML is not installed on your system.");
    }
    var xmlhttp = createXMLHTTP();

    if(metodo == "GET") {
    xmlhttp.open("GET", url, modo);
    } else {
    xmlhttp.open("POST", url, modo);
    xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");
    xmlhttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
    xmlhttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
    xmlhttp.setRequestHeader("Pragma", "no-cache");
    }

    xmlhttp.onreadystatechange = function() {
    if(xmlhttp.readyState == 4) {
    retorno=xmlhttp.responseText
    /*var element = getObj(tagRetorno) */
    document.getElementById(tagRetorno).innerHTML=retorno
    findScript(retorno)
    }
    }
    if(metodo == "GET") {
    xmlhttp.send(null);
    } else {
    xmlhttp.send(parametros);
    }
    }

    Responder comentário

Poste um comentário


Os textos publicados neste espaço são de responsabilidade única de seus autores (colunistas e leitores) e podem não expressar necessariamente a opinião do iMasters.

Sobre o autor

Rafael Martin possui experiência em desenvolvimento de sistemas web e softwares, principalmente nas linguagem ASP, VB6, Javascript, CSS, XML, HTML, DHTML e ASP.Net (VB.Net e C#), Crystal Reports; banco de SQL Server, MySQL e Access.


Indique para um amigo

captcha

TI SHOP Produtos iMasters

  • Lançamento: CD-ROM Treinamento Aplicado de SQL - Lançamento! Treinamento Aplicado de SQL - Aprenda a trabalhar com SQL com bancos de dados Oracle e SQL Server. São mais de 100 tópicos explicados por Mauro Pichilliani, um articulistas mais lidos do iMasters. Aproveite! Apenas R$ 69,90 no TI SHOP.
  • Lançamento: Livro iMasters "O Encontro de 2 Mundos"- Este livro conta com 56 crônicas de profissionais mais admirados e influentes do mercado brasileiro de Internet. Aproveite o preço especial para leitores do iMasters. Apenas R$ 40,00 e envio imediato!
  • DVD Curso Completo de Photoshop - Do conceito à finalização Lançamento! Curso Completo de Photoshop, em DVD, com mais de 230 aulas dividas em 4 módulos: conceito, básico, avançado e finalização. Apenas R$ 69,50 no TI SHOP - Frete com 50% de desconto
  • DVD Javascript Starter - Curso Completo Com mais de 9 horas de vídeo-aulas, é um curso completo sobre Javascript. Ideal para quem deseja aprender a linguagem. Apenas R$ 64,90 no TI SHOP - Frete com 50% de desconto!

2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.