..
É algumas semanas fora da versão 1.5 do nosso amado jQuery, seguido pela volta do correio 1.5.1, basicamente, uma versão de bug-fixo do primeiro.
Meu primeiro instinto me levou a pensar que você poderia esperar algum tempo a produzir esta nova versão, mesmo porque não o ramo 1.4.x já realizados sobre o seu trabalho muito bem, para não mencionar que permanecem o tempo um pouco mais sobre versão dá aos usuários uma sensação de estabilidade e segurança.
Mas quando eu li o que foi alterado, e acrescentou que eu mudei de idéia imediatamente.
As mudanças na versão 1.5 são substanciais, mas não tanto em recursos que são expostos a quanto trabalho foi feito nos bastidores, especialmente na forma Ajax desenvolvedores, cujas alterações não hesite em chamar de época, não tanto em geral (o que outros frameworks já usam Aqui nós apresentamos agora), mas para jQuery.
Vemos um pouco mais especificamente o que foi feito.
A equipe do quadro de desenvolvimento reescreveu a maior parte do Ajax API oferece três maneiras de estender a funcionalidade de US $ Ajax ():. Prefilters o, os conversores e transportes
A pré-filtro é uma função callback chamado antes do pedido ajax é realmente enviado, e, conforme explicado na documentação, antes de qualquer opções de tratamento em US $. Ajax () em si.
O pré-filtro é gravado usando $ AjaxPrefilter ().:
$. AjaxPrefilter função ((opções, originalOptions, jqXHR)
Vou explicar o que é um jqXHR, Pense nisso como um invólucro para agora enriquecido com um XMLHttpRequest.
O exemplo mais interessante na documentação explica a possível utilização de pré-filtros para modificar uma opção existente
$. AjaxPrefilter função ((options) {
if (options.crossDomain) {
options.url = "http://miodominio.it/proxy/" + encodeURIComponent (options.url);
options.crossDomain = false;
}
});
Dizer que, se a opção for crossDomain a chamada é intermediada por proxy para o http://mydomain.net/proxy/ URL.
E 'possível usar $ AjaxSetup () para registrá-lo globalmente.:
$. AjaxSetup ({
Conversores: {
"Texto Miodatatype": function (textValue) {
if (válido (textValue)) {
/ / Aqui a lógica personalizada para analisar!
miodatatypeValue retorno;
Else {}
/ / Notifica um erro de interpretação
lançar uma exceção;
}
}
}
});
Ou ligue diretamente em linha para cada chamada que requer que:
$. Ajax (url, {
dataType: "texto xml miodatatype"
Conversores: {
"Texto XML": function (xmlValue) {
/ / Parse a lógica aqui!
textValue retorno;
}
}
});
A razão mais sentido usar um conversor é que ele fornece uma maneira de definir o seu próprio datatypes então usado como um tipo de retorno, o primeiro exemplo, podemos solicitar a miodatatype este tipo:
$. Ajax (url, {
dataType: "miodatatype"
});
Nota: O tipo de dados deve ser definido como seqüências de letras minúsculas.
Se houvesse conversores bastante a pré-filtros e para moldar nossas solicitações ajax, os objetos são feitos os transportes disponíveis, que a documentação define último recurso (o que se traduziria como "não use" ou com "se você se sentir compelido a usá-los, talvez você deve refletir sobre lógica que você está usando ").
No entanto, o transporta fornecer duas funções: enviar e abortar e devem ser registradas utilizando AjaxTransport $ ()..
Aqui está o exemplo básico fornecido na documentação:
$. AjaxTransport função ((opções, originalOptions, jqXHR) {
if (/ * transportCanHandleRequest * /) {
{Return
envie: function (cabeçalhos, completeCallback) {
/ * Enviar * queue /
},
abortar: function () {
/ * Abort código * /
}
};
}
});
ea descrição dos parâmetros que traduzem para a sua conveniência:
a estrutura típica de um completeCallback é a seguinte:
função (status, statusText, respostas, headers) {}
onde:
Nós descrevemos o que foi adicionado para aumentar a flexibilidade do ajax módulo, mas para o uso comum Acho comentário muito interessante sobre a introdução do diferido, mas antes de fazê-lo jqXHR definir o novo objeto que é retornado das chamadas ajax.
jqXHR família é um superconjunto do objeto XMLHTTPRequest que implementa a interface de Promise, fornecendo todos os métodos, propriedades e comportamentos definidos por uma promessa:
Definição: Uma promessa é uma exibição somente leitura do resultado de uma tarefa e representa o valor retornado pela conclusão da transação.
Para mais informações veja aqui .
| |
CSS (Curso)
Web Design e Acessibilidade de acordo com a W3C CSS e XHTML. A partir de 29 €. |
| |
HTML (Curso)
A linguagem de marcação para a Web a partir de 29 €. |
| |
Javascript (Curso)
Completo guia para client-side scripting. A partir de 39 €. |