Tutoriais ASP

ASP HOME

Tutorial WP

Introdução às páginas da Web Navalha de páginas da Web Layout de páginas da Web Pastas de páginas da Web Páginas da Web globais Formulários de páginas da Web Objetos de páginas da Web Arquivos de páginas da Web Bancos de dados de páginas da Web Assistentes de páginas da Web Páginas da Web WebGrid Gráficos de páginas da Web E-mail de páginas da Web Segurança de páginas da Web Publicação de páginas da Web Exemplos de páginas da Web Aulas de páginas da Web

Máquina de barbear ASP.NET

Introdução à navalha Sintaxe Razor Variáveis ​​Razor C# Loops Razor C# Razor C# Logic Variáveis ​​Razor VB Loops Razor VB Lógica do Razor VB

ASP Clássico

Introdução ASP Sintaxe ASP Variáveis ​​ASP Procedimentos ASP Condicionais ASP Loop ASP Formulários ASP Cookies ASP Sessão ASP Aplicativo ASP ASP #incluir ASP Global.asa ASP AJAX e-mail ASP Exemplos ASP

Referência ASP

Funções ASP VB Palavras-chave ASP VB Resposta ASP Solicitação ASP Aplicativo ASP Sessão ASP Servidor ASP Erro ASP Sistema de arquivos ASP Fluxo de texto ASP Unidade ASP Arquivo ASP Pasta ASP Dicionário ASP ASP AdRotator ASP BrowserCap Vinculação de conteúdo ASP Rotador de conteúdo ASP Referência Rápida ASP

Tutorial ADO

Introdução ao ADO ADO Connect Conjunto de registros ADO Exibição ADO Consulta ADO ADO Sort Adicionar ADO Atualização ADO Excluir ADO Demonstração ADO Aceleração ADO

Objetos ADO

Comando ADO Conexão ADO Erro ADO Campo ADO Parâmetro ADO Propriedade ADO Registro ADO Conjunto de registros ADO Fluxo ADO Tipos de dados ADO

ASP AJAX

AJAX é sobre atualizar partes de uma página da web, sem recarregar a página inteira.


O que é AJAX?

AJAX = JavaScript assíncrono e XML.

AJAX é uma técnica para criar páginas web rápidas e dinâmicas.

O AJAX permite que as páginas da Web sejam atualizadas de forma assíncrona, trocando pequenas quantidades de dados com o servidor nos bastidores. Isso significa que é possível atualizar partes de uma página web, sem recarregar a página inteira.

Páginas da web clássicas (que não usam AJAX) devem recarregar a página inteira se o conteúdo for alterado.

Exemplos de aplicativos usando AJAX: Google Maps, Gmail, Youtube e abas do Facebook.


Como funciona o AJAX

AJAX


AJAX é baseado em padrões da Internet

O AJAX é baseado em padrões da Internet e usa uma combinação de:

  • Objeto XMLHttpRequest (para trocar dados de forma assíncrona com um servidor)
  • JavaScript/DOM (para exibir/interagir com as informações)
  • CSS (para estilizar os dados)
  • XML (frequentemente usado como formato para transferência de dados)

Os aplicativos AJAX são independentes do navegador e da plataforma!



Sugestão do Google

O AJAX foi popularizado em 2005 pelo Google, com o Google Suggest.

O Google Suggest está usando AJAX para criar uma interface web muito dinâmica: quando você começa a digitar na caixa de pesquisa do Google, um JavaScript envia as letras para um servidor e o servidor retorna uma lista de sugestões.


Comece a usar o AJAX hoje

Em nosso tutorial ASP, demonstraremos como o AJAX pode atualizar partes de uma página da Web, sem recarregar a página inteira. O script do servidor será escrito em ASP.

Se você quiser saber mais sobre AJAX, visite nosso tutorial AJAX .

Exemplo de ASP AJAX

O exemplo a seguir demonstrará como uma página da Web pode se comunicar com um servidor da Web enquanto um usuário digita caracteres em um campo de entrada:

Exemplo

Start typing a name in the input field below:

First name:

Suggestions:



Exemplo explicado

No exemplo acima, quando um usuário digita um caractere no campo de entrada, uma função chamada "showHint()" é executada.

A função é acionada pelo evento onkeyup.

Aqui está o código HTML:

Exemplo

<html>
<head>
<script>
function showHint(str) {
    if (str.length == 0) {
        document.getElementById("txtHint").innerHTML = "";
        return;
    } else {
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
                document.getElementById("txtHint").innerHTML = this.responseText;
            }
        };
        xmlhttp.open("GET", "gethint.asp?q=" + str, true);
        xmlhttp.send();
    }
}
</script>
</head>
<body>

<p><b>Start typing a name in the input field below:</b></p>
<form>
First name: <input type="text" onkeyup="showHint(this.value)">
</form>
<p>Suggestions: <span id="txtHint"></span></p>
</body>
</html>

Explicação do código:

Primeiro, verifique se o campo de entrada está vazio (str.length == 0). Se estiver, limpe o conteúdo do espaço reservado txtHint e saia da função.

No entanto, se o campo de entrada não estiver vazio, faça o seguinte:

  • Criar um objeto XMLHttpRequest
  • Crie a função a ser executada quando a resposta do servidor estiver pronta
  • Envie a solicitação para um arquivo ASP (gethint.asp) no servidor
  • Observe que o parâmetro q é adicionado gethint.asp?q="+str
  • A variável str contém o conteúdo do campo de entrada

O arquivo ASP - "gethint.asp"

O arquivo ASP verifica uma matriz de nomes e retorna o(s) nome(s) correspondente(s) ao navegador:

<%
response.expires=-1
dim a(30)
'Fill up array with names
a(1)="Anna"
a(2)="Brittany"
a(3)="Cinderella"
a(4)="Diana"
a(5)="Eva"
a(6)="Fiona"
a(7)="Gunda"
a(8)="Hege"
a(9)="Inga"
a(10)="Johanna"
a(11)="Kitty"
a(12)="Linda"
a(13)="Nina"
a(14)="Ophelia"
a(15)="Petunia"
a(16)="Amanda"
a(17)="Raquel"
a(18)="Cindy"
a(19)="Doris"
a(20)="Eve"
a(21)="Evita"
a(22)="Sunniva"
a(23)="Tove"
a(24)="Unni"
a(25)="Violet"
a(26)="Liza"
a(27)="Elizabeth"
a(28)="Ellen"
a(29)="Wenche"
a(30)="Vicky"

'get the q parameter from URL
q=ucase(request.querystring("q"))

'lookup all hints from array if length of q>0
if len(q)>0 then
  hint=""
  for i=1 to 30
    if q=ucase(mid(a(i),1,len(q))) then
      if hint="" then
        hint=a(i)
      else
        hint=hint & " , " & a(i)
      end if
    end if
  next
end if

'Output "no suggestion" if no hint were found
'or output the correct values
if hint="" then
  response.write("no suggestion")
else
  response.write(hint)
end if
%>

AJAX pode ser usado para comunicação interativa com um banco de dados.


Exemplo de banco de dados AJAX

O exemplo a seguir demonstrará como uma página da Web pode buscar informações de um banco de dados com AJAX:

Exemplo


Customer info will be listed here...


Exemplo explicado - A página HTML

Quando um usuário seleciona um cliente na lista suspensa acima, uma função chamada "showCustomer()" é executada. A função é acionada pelo evento "onchange":

<!DOCTYPE html>
<html>
<head>
<script>
function showCustomer(str)
{
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (this.readyState==4 && this.status==200)
    {
    document.getElementById("txtHint").innerHTML=this.responseText;
    }
  }
xmlhttp.open("GET","getcustomer.asp?q="+str,true);
xmlhttp.send();
}
</script>
</head
<body>

<form>
<select name="customers" onchange="showCustomer(this.value)">
<option value="">Select a customer:</option>
<option value="ALFKI">Alfreds Futterkiste</option>
<option value="NORTS ">North/South</option>
<option value="WOLZA">Wolski Zajazd</option>
</select>
</form>
<

<div id="txtHint">Customer info will be listed here...</div>

</body>
</html>

Explicação do código fonte:

Se nenhum cliente for selecionado (str.length==0), a função limpa o conteúdo do espaço reservado txtHint e sai da função.

Se um cliente for selecionado, a função showCustomer() executa o seguinte:

  • Criar um objeto XMLHttpRequest
  • Crie a função a ser executada quando a resposta do servidor estiver pronta
  • Envie a solicitação para um arquivo no servidor
  • Observe que um parâmetro (q) é adicionado à URL (com o conteúdo da lista suspensa)

O arquivo ASP

A página no servidor chamada pelo JavaScript acima é um arquivo ASP chamado "getcustomer.asp".

O código-fonte em "getcustomer.asp" executa uma consulta em um banco de dados e retorna o resultado em uma tabela HTML:

<%
response.expires=-1
sql="SELECT * FROM CUSTOMERS WHERE CUSTOMERID="
sql=sql & "'" & request.querystring("q") & "'"

set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("/datafolder/northwind.mdb"))
set rs=Server.CreateObject("ADODB.recordset")
rs.Open sql,conn

response.write("<table>")
do until rs.EOF
  for each x in rs.Fields
    response.write("<tr><td><b>" & x.name & "</b></td>")
    response.write("<td>" & x.value & "</td></tr>")
  next
  rs.MoveNext
loop
response.write("</table>")
%>