Resolvi compartilhar com vocês uma classe que fiz para manipulação bem simples em Ajax. Como é uma coisa muito procurada, acho que vale a pena oferecer mais uma opção, além das já existentes no fórum.
Essa classe é uma melhora de uma interface que eu havia feito e a intenção dessa classe a princípio é ser o menos verbosa, o mais simples de se usar possível.
Portanto ela tem poucos métodos, apenas 5.
Essa classe gera um objeto com apenas um método, o método Lite, e este método vai retornar um dos 5 métodos existentes na classe.
Apenas 4 dos métodos serão os mais usados, um deles descreverei no final a sua funcionalidade.
Existem dois métodos Controllers e dois métodos Executioners, você só precisará usar um de cada. Um método Controller e um método Executioners, a escolha de qual será sua.
Controllers
:sucess ( function(resposta) )
contexto this: objeto ajax nativo.
Método simples onde você passa uma função que será executada quando o ajax estiver pronto.
A função passada será chamada pela classe passando a resposta do ajax como parâmetro.
Uso:
var ajax = new Ajax.Class
ajax.Lite(':sucess')(function(resposta){
document.getElementById('conteudo').innerHTML = resposta
})
:state( function(estado, resposta) )
contexto this: objeto ajax nativo.
Método simples onde você passa uma função que será executada 4 vezes, que são os quatro estados do ajax:
1 - Ajax configurado
2 - Ajax enviado
3 - Resposta sendo processada
4 - Resposta pronta
A função passada tem como parâmetros uma variável para o estado do ajax e uma variável que guarda o valor da resposta do ajax.
O nome dos parâmetros são livres, podendo ser mudado.
Os mais usados são os estados 3 e 4. Para mostrar uma mensagem de carregamento e para mostrar o produto final.
Estes são os métodos controllers, e não executam o ajax em si, mas configuram como o ajax deve se comportar de acordo com a sua necessidade.
Os métodos executores é que farão a requisição propriamente dita:
Executioners
:get( String url )
Este método recebe uma string, contendo a url da requisição.
A url pode ser uma QueryString.
Uso:
var ajax = new Ajax.Class
ajax.Lite(':get')('/includes/respose.php?nome=Eduardo Ottaviani')
:post( String url, Json headers )
O método post é quase igual ao método get, porém ele vai enviar os dados da requisição na forma post e tem como parâmetro opcional um json contendo os headers da requisição.
Os headers são um json, contendo o um nome e um valor.
A url pode ser uma QueryString.
Uso:
var ajax = new Ajax.Class
var param = 'nome=Eduardo Ottaviani&idade=25'
ajax.Lite(':post')('page.htm?' + param, {
'encoding' : 'ISO-8859-1',
'Content-length' : param.length
})
Existe ainda um método Settercomo eu havia dito anteriormente, que serve apenas para deixar a classe mais dinâmica, dando uma opção para setar o valor da requisição assíncrona em true ou false.
Uso:
var ajax = new Ajax.Class
ajax.Lite(':async')(false)
O recomendado é deixar padrão, que é true.
Esta é mais uma solução para facilitar o uso do Ajax de forma bem simples.
Anexei um zip contendo um html que demonstra de forma prática o uso da classe.
Pergunta
KaKarotto
E aí galera ;)
Resolvi compartilhar com vocês uma classe que fiz para manipulação bem simples em Ajax. Como é uma coisa muito procurada, acho que vale a pena oferecer mais uma opção, além das já existentes no fórum.
Essa classe é uma melhora de uma interface que eu havia feito e a intenção dessa classe a princípio é ser o menos verbosa, o mais simples de se usar possível.
Portanto ela tem poucos métodos, apenas 5.
Essa classe gera um objeto com apenas um método, o método Lite, e este método vai retornar um dos 5 métodos existentes na classe.
Apenas 4 dos métodos serão os mais usados, um deles descreverei no final a sua funcionalidade.
Existem dois métodos Controllers e dois métodos Executioners, você só precisará usar um de cada. Um método Controller e um método Executioners, a escolha de qual será sua.
Controllers
Uso:
Uso: Estes são os métodos controllers, e não executam o ajax em si, mas configuram como o ajax deve se comportar de acordo com a sua necessidade. Os métodos executores é que farão a requisição propriamente dita: Executioners Uso: Uso: Existe ainda um método Setter como eu havia dito anteriormente, que serve apenas para deixar a classe mais dinâmica, dando uma opção para setar o valor da requisição assíncrona em true ou false. Uso:O recomendado é deixar padrão, que é true.
Esta é mais uma solução para facilitar o uso do Ajax de forma bem simples.
Anexei um zip contendo um html que demonstra de forma prática o uso da classe.
Ajax.Class.zip
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.