Eu encontro muito este material de AJAX um bocado de uma campanha publicitária. Os lotes dos povos têm
usar coisas similares muito antes dela transformou-se “AJAX”. E ele realmente
não é tão complicado como muitos povos o fazem para fora para ser. Está aqui a
exemplo simples de um de meus apps.
/* O JAVASCRIPT PARA CRIAR A INFRA-ESTRUTURA DE AJAX *
FUNÇÃO DE/* PARA CRIAR O OBJETO DO PEDIDO DE BROWSER-DEPENDENT *
createRequestObject da função ()
{
ro do var;
navegador do var = navigator.appName;
se (== “Microsoft Internet Explorer” do navegador)
{
ro = ActiveXObject novo (“Microsoft.XMLHTTP”);
} mais
{
ro = XMLHttpRequest novo ();
}
ro do retorno;
}
FUNÇÃO DE/* PARA EMITIR O PEDIDO *
sendReq da função (ação)
{
http.open (“começ”, 'ajaxprocessor.php? ação de action='+);
http.onreadystatechange = handleResponse;
http.send (zero);
}
FUNÇÃO DE/* PARA SEGURAR A RESPOSTA *
handleResponse da função ()
{
se (== 4 de http.readyState)
{
resposta do var = http.responseText;
atualização do var = disposição nova ();
se (response.indexOf (“|”! = -1))
{
atualização = response.split (“|");
document.getElementById (atualização [0]) .innerHTML = atualização [1];
}
}
}
/* CRIAM O OBJETO *
var HTTP = createRequestObject ();
FIM DE/* DO JAVASCRIPT *
Isto cria um objeto do pedido junto com um pedido e um punho da emissão
função de resposta. Para usá-la assim realmente, você poderia incluir este js dentro
sua página. Fazê-lo então a um destes pedidos backend amarrá-lo-ia
a algo. Como o evento de um onclick ou um href reto gostar disto:
[Foo]
Isso significa aquele quando alguém estala sobre essa ligação o que acontece realmente
é aquele um pedido backend a ajaxprocessor.php? o action=foo será emitido.
Em ajaxprocessor.php você pôde ter qualquer outra coisa semelhante:
/* O PHP PARA SEGURAR O PEDIDO DO CERTIFICADO FRONT-END *
interruptor ($_GET [“ação”])
{
caso “foo”:
// FAZ O QUE QUER QUE PROCESSAR É APROPRIADO
// RETORNA ENTÃO UMA CORDA da RESPOSTA ao handleResponse ()
foo do eco “|Foo feito”;
ruptura;
// ETC….
}
Agora, olhar no handleResponse. Analisa gramaticalmente o “foo|” Corda feita Foo e
separações no “|” e usa-se o que quer que é antes do “|” como os DOM
identificação do elemento em sua página e na parte após como o innerHTML novo daquela
elemento. Isso meios se você tem um Tag do div como este em sua página:
Foo de espera
Uma vez que você estala sobre essa ligação, aquele estará mudado dinâmicamente a:
Foo feito
Aquele é todo lá é-lhe. Tudo mais apenas está construindo sobre
isto. Substituindo identificação da minha resposta simples “|sintaxe do texto” com um XML mais rico
formatar e fazendo o pedido muito mais complicado também. Antes de você
instalar cega grandes bibliotecas de “AJAX”, têm ir em rolar seus próprios
a funcionalidade assim que você sabem exatamente trabalha e você a faz somente como
complicado como você precisa. Frequentemente você não precisa muito mais do que que I
mostraram aqui.
Expandindo esta aproximação um bocado para emitir parâmetros múltiplos no
o pedido, por exemplo, seria realmente simples. Algo gosta:
sendReqArg da função (ação, arg)
{
http.open (“começ”, 'ajaxprocessor.php? arg de action='+ action+'& arg='+);
http.onreadystatechange = handleResponse;
http.send (zero);
}
E seu handleResponse pode facilmente ser expandido para fazer mais interessante
coisas do que apenas substituindo os índices de um div.
- Rasmus (Lerdorf?)
|