Função muito útil, parecida com AJAX.. mas não é.


Galera,

Vou compartilhar essa função com vocês, que me foi muito últil para desenvolver alguns sistemas meus integrando o javascript/ASP. Ela não é uma função minha, é do Carlos Rolim, que a publicou nesta matéria no iMasters . e já aproveito para parabenizá-lo pelo ótimo código, que me ajudou muito.

 O intuito dessa função é executar uma página ASP e fazer um retorno em javascript sem precisar submeter a página da chamada ao servidor.

Eu só dei uma adaptada no conteúdo da matéria dele, para criar uma função padrão, onde podemos chamá-la a hora que quisermos com parâmetros específicos.
Aí vai o código:

<script language=”javascript” type=”text/javascript” >
<!–
function carregaDados(Source,parameters){
var head = document.getElementsByTagName(‘head’).item(0);
var eScript = document.createElement(’script’);
if(parameters!=undefined){
parameters=’?'+parameters
}else{
parameters=”
}
var file=Source+parameters
file=antiCacheRand(file);
eScript.setAttribute(’src’,file);
head.appendChild(eScript)
}
–>
</script>

Vamos exemplificar um link que vai excluir um registro de uma base de dados:

<a href=”#” mce_href=”#” onClick=”carregaDados(‘excluir.asp’,'id=2&tipo=3′);”>Excluir</a>
Neste caso, ele vai chamar a página excluir.asp, e vai executá-la sem mecher na página atual.
Lembrando que ele executa o ASP, mas qualquer texto fora dos blocos <% %> são interpretados como javascript, então, se for escrever algo no documento, considere como se tivesse redigindo dentro das tags <script> </script>.
Isso nos dá a autonomia de chamar uma função em javascript ou até mesmo já colocar os parâmetros na própria página asp, Ex. da página excluir.asp:
<%
 ’código asp da exclusão
%>
alert(‘deucerto’);

Isso ae pessoal. Dúvidas é só perguntar.

, , , ,

  1. #1 por nelson em Março 30th, 2008

    Já verifiquei a função varias vezes mais gera erro no scritp quando execute o appedChild, e que será tem alguma declaração na tag META para funcionar corretamente?

  2. #2 por Weverton Naves em Março 31st, 2008

    Qual browser vc está utilizando?
    O script está entre as tags head?

  3. #3 por nelson em Março 31st, 2008

    Estou usando o IE 6.0, e o script esta entre as tags head. Já tentei mudar para as tags body também, e não deu certo,
    Só não testei em outro browser.
    Li também o post do Carlos Rolim, muito bom mesmo.
    Desde de já, agradeço sua atenção!
    Um Abraço!
    Nelson

  4. #4 por Weverton Naves em Abril 1st, 2008

    Vc está testando localmente?
    Algumas configurações de segurança podem bloquear este tipo de prática em arquivos locais.

  5. #5 por nelson em Abril 2nd, 2008

    O servidor IIS está na minha rede local. Não estou habilitando o IIS na minha maquina, mas vc deu uma grande idéia, vou verificar os atributos de sugurança. Vou fazer os testes o digo se deu certo.

  6. #6 por Dito Ramos em Setembro 14th, 2008

    Pessoal,

    Prá mim tá dando erro também.
    (Linha 24 – Erro de sintaxe)

    Meu código está assiM>
    Página Teste.asp

    Excluir

    Página Excluir.asp

    alert(‘deucerto’);

    ALGUÉM TEM UMA LUZ?
    Essa função me interessa muito!

    Grato.

    Dito

  7. #7 por Dito Ramos em Setembro 14th, 2008

  8. #8 por nelson em Outubro 27th, 2009

    Já verifiquei a função varias vezes mais gera erro no scritp quando execute o appedChild, e que será tem alguma declaração na tag META para funcionar corretamente?

(não será publicado)