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