Cadastrando, Listando e Deletando com AJAX / ASP

Agência OFF, desenvolvimento de soluções web para as Agências Digitais

Código bem simples e útil para a galera que gosta de usar AJAX e não tem muita referência!
Página para carregar o AJAX, funcionalidades:

 

 

ajaxCarregar.js

function GetXMLHttp() {
if(navigator.appName == "Microsoft Internet Explorer") {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else {
xmlHttp = new XMLHttpRequest();
}
return xmlHttp;
}

var Enviar = GetXMLHttp();

// Início - Cadastro
function CadastrarDados() {
var Nome = document.getElementById("Nome");
var EMail = document.getElementById("EMail");

var URL = "Cadastro.asp?Cadastrar=Ok&Nome="+Nome.value+"&EMail="+EMail.value+"";
Enviar.open("GET", URL, true);
Enviar.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
document.getElementById("Resposta").innerHTML = "Cadastrado com Sucesso!!!";

Nome.value = "";
EMail.value = "";

Enviar.send(null);
Enviar.onload = lerTexto;
}
// Final - Cadastro

// Início - Deletar
function apagar(id, rowIndex) {
if (confirm('Tem certeza que deseja excluir este registro?')) {
document.getElementById("tabela").deleteRow(rowIndex);

Enviar.open("POST",'Cadastro.asp?Deletar=Ok&id='+ id, false);
Enviar.send(null);
}
}
// Final - Deletar

// Início - Carregar Página
function lerTexto() {
var URLler = "Ler.asp";
Enviar.onreadystatechange = stateChanged;
Enviar.open("GET", URLler, true);
Enviar.send(null);
}

function stateChanged() {
if (Enviar.readyState==4) {
document.getElementById("ler_Dados").innerHTML = Enviar.responseText;
}
}

window.onload = lerTexto;
// Final - Carregar Página

 

 

Ler.asp

<%@ Language="JavaScript" %>
<%
var Conexao;
var Conexao = Server.CreateObject("Adodb.Connection");
Conexao.ConnectionString = "Driver=MySQL ODBC 3.51 Driver; DataBase=banco; Server=localhost; Uid=root; PassWord=root;";
Conexao.Open;
%>
<table width="407" border="1" cellspacing="0" cellpadding="0" id="tabela">
<tr>
<td width="164"><strong>NOME</strong></td>
<td width="159"><strong>EMAIL</strong></td>
<td width="76"><strong>Acionar</strong></td>
</tr>
<%
var rs = Conexao.Execute("Select * From Teste");
if (rs == null) {
Response.Write("NADA");
}
else {
while (!rs.EOF) {
%>
<tr>
<td><%=rs("Nome")%></td>
<td><%=rs("EMail")%></td>
<td><a href="#" onClick="apagar('<%=rs("Codigo")%>', this.parentNode.parentNode.rowIndex);">deletar</a></td>
</tr>
<%
rs.MoveNext();
}
}
%>
</table>

 

 

Cadastro.asp

<%@ Language="JavaScript" %>
<%
var Conexao;
var Conexao = Server.CreateObject("Adodb.Connection");
Conexao.ConnectionString = "Driver=MySQL ODBC 3.51 Driver; DataBase=banco; Server=localhost; Uid=root; PassWord=root;";
Conexao.Open;
%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Cadastrar</title>
<script language="javascript" src="ajaxCarregar.js"></script>
</head>
<body>
<div id="Resposta"></div><br>
<form id="Form">
Nome: <input type="text" id="Nome" name="Nome" value=""><br>
E-Mail: <input type="text" id="EMail" name="EMail" value=""><br>
<input type="button" id="Cadastrar" value="Cadastrar" name="Cadastrar" onClick="CadastrarDados();">
</form><br>
<br>
<br>
<div id="ler_Dados"></div>
</body>
</html>
<%
if (Request.QueryString("Cadastrar") == "Ok") {
Conexao.Execute("Insert Into Teste (Nome, EMail) Values ('"+Request.QueryString("Nome")+"', '"+Request.QueryString("EMail")+"')");
Response.Write("");
}

if (Request.QueryString("Deletar") == "Ok") {
Conexao.Execute("Delete From Teste Where Codigo = '"+Request.QueryString("id")+"'");
Response.Write("");
}
%>

Agência OFF, desenvolvimento de soluções web para as Agências Digitais


Tags:

25 Respostas para Cadastrando, Listando e Deletando com AJAX / ASP

  1. E ae fera blz.. seguinte .. baixei seu codigo aq .. ta rodando blz .. mas ele nao exclui fera ..oq faço.´flw

  2. O que aconteceu?
    Erro no AJAX, pode debugar?
    Erro no ASP?

  3. Olá amigo, parabéns pelo post. Só para constar o erro que o Fabio citou, basta colocar na página ‘ler.asp’ o script ‘ajaxCarrega.js’ que ficou faltando. Grande abraço!

  4. bela observação amigo!!

  5. Cara, pode tirar algumas dúvidas? adaptei minha necessidade ao seu codigo. Mudei por exemplo a conexao, pois me conecto em SQL SERVER. O erro que esta dando é na linha 26 do ajaxCarregar onde aparece “Enviar.onload = lerTexto;” pode me ajudar o que pode estar acontecendo?
    obrigado

  6. Pegue a página Ler.asp que coloquei e teste separadamente para ver se está listando corretamente

  7. não estava… estava faltando um campo na minha tabela. Já criei, e agora ele esta lendo direitinho. porém quando entro em cadastra.asp ele nao apresenta os valores lá e continua dando problema no mesmo lugar. :(

  8. o código esta no ar no endereço http://www.cursoyes.com.br/siga/estudos/ajax/cadastra.asp
    pode testar o LER separadamente nesse endereço.

  9. deu erro amigo:

    Microsoft JScript runtime error ’800a1391′
    ‘Conexao’ is undefined
    /siga/estudos/ajax/Ler.asp, line 16

    veja no firefox

  10. esta funcionando no firefox, mas não deleta. Ele chega a deletar visualmente, mas aparece novamente quando incluo outro. no IE nao aparece a listagem abaixo. Pode testar novamente, já acertei.

  11. te informando:
    testei em 4 browsers:

    IE8: Não apaga; não chega a voltar para o CADASTRA.ASP?DELETAR=OK.

    FIREFOX: situação idêntica ao do IE8.

    CHROME: Apaga, mas depois de apagar ele Duplica o formulario logo abaixo do primeiro e não mostra a lista e depois se confunde todo.

    SAFARI: situação idêntica ao do CHROME.

  12. Estranho, peguei esse mesmo codigo e em nenhum dos navegadores deu erro, só não testei no IE8 pois não tenho

  13. pode ser o banco de dados?

  14. não, mande seu codigo zipado para algum lugar que baixo e vejo ele!

  15. manda seu email pra mim: leobil@gmail.com

  16. Boa tarde,
    eu fiz tudo e deu ok, prém veio uma dúvida sobre atualização. A linha document.getElementById(“demoTable”).UpdateRow(rowIndex); apaga a linha da tabela. Aí peguei a mesma função e fiz para atualizar um registro, só que não quero apagar a linha, e sim somente atualizar a linha

  17. atualizar seria a mesma função que cadastrar, a diferença fica no SQL, faça o teste

  18. Boa noite, a função eu peguei a mesma que vc utilizou para deletar, e está funcionando 100%. A dúvida seria com o Método javascript utilizado. Quando vc apaga utiliza o metodo deleteRow, não teria um UpdateRow()?

    Eu comentei a linha do deleteRow, e quando atualiza fica na mesma, não mostra nada, mas se eu clicar em f5, aí sim mostra a atualização.

  19. Bom dia, na verdade eu quero atualizar a partir de um link igual ao link deletar.

  20. Obrigado pela ajuda, já resolvi!

  21. Bom dia, ótimo script Ted, porém estou com um probleminha, quando insiro algo novo a informação nova cadastrada já não atualiza no formulário de forma instantanea, só quando carrego novamente, o que pode ser isso? pode me ajudar?

  22. Gostaria de saber se pode me ajudar, estou criando um site, e gostaria que a manutenção das fotos fosse de forma mais simples e facil para qualquer um mecher (incluir e excluir) e creio que a melhor linguagem seria asp, porem não sei como fazer???? Estou com o site pronto, mas não sei como prosseguir???? Preciso de ajuda e pago por isso. Se puder entre em contato comigo no fone 96859202. Obrigada. Angela

  23. Como seria a conexão para o BD em Access?
    Grato desde já.

Deixe seu Comentário