Certa vez tive a necessidade de enviar JSON para o servidor de aplicação no formato JSON em vez dos parâmetros regulares. Uma necessidade bem comum nestes dias de web 2.0
Da necessidade e algumas horas de experimentação depois saiu este plugin:
(function($) { $.json_post = function(url, data, success) { var params = { url : url, data : JSON.stringify(data), type : 'POST', success : success, contentType : "application/json" }; return $.ajax(params); }; })(jQuery);
A 'posologia' é bem simples: monte seu objeto javascript, no formato que o servidor de aplicação espera receber. Em seguida envie-o com sintaxe parecida com a que você já é acostumado a usar com a função $.get():
var usu = {
userName : $("#nmusuario").val(),
password : $("#nmsenhausu").val()
};
$.json_post("../service/misc/user", usu, function(ret) {
//... tratamento do retorno
});
Em posts futuros apresento as implicações server-side desta abordagem. Quem já trabalhou com DWR vai se identificar de imediato.
Este snippet foi testado no firefox 7 com o jQuery 1.6, mas não enxergo motivos que impeçam o mesmo de funcionar com um setup mais antigo. Disponibilizei esse pequeno componente no github também.
Nenhum comentário :
Postar um comentário