Passando Parametros via Ajax JQUERY

6 respostas
K

Pessoal, estou precisando passar uns parametros via ajax para realizar um cadastro, segue como estou tentando fazer.

$("formulario").submit(function(){
		var parametros = "{nome:'"+nome+"'" +
				" fone:'"+fone+"'"+
				" dataAdmin:'"+dataAdmin+"'"+
		'cargo:'+cargo+'login:'+login+'senha:'+senha+'conta:'+conta+'agencia:'+agencia'+
		'banco:'+banco+' tipo:'+tipo+"'}";
		$.ajax({
			type: 'POST',
			url: '../FuncionarioServlet?acao=salvarfuncionario',
			data: parametros
			
		});
		
	});
Parei na parte do data ai mesmo, não sei se estou indo correto, mas queria uma ajuda de vocês, outra coisa, o metodo load tem a mesma funcionalidade ? porque eu li em um blog que se pode passar
$("#destino").load("url", parametros, function(){
         alert("recebidos os dados por ajax");
      });

Qual a diferença ?

6 Respostas

W

Se tu quer passar os dados em JSON, pode usar o método JSON.stringify. Você passa um objeto e ele converte pra JSON, bem melhor do que ficar manipulando strings. :slight_smile:

A maior parte dos browsers já suporta ele, mas os antigos não. Por isso é importante incluir a lib json2.js:

D

Não há necessidade de converter uma string para objeto nem um objeto para JSON. Passe o objeto diretamente que a jQuery faz o que precisa ser feito.
Por exemplo:

$.ajax({ // outras opções... data: { campo1: "foo", campo2: "bar" } });
Tudo o que você precisa está descrito aqui: http://api.jquery.com/jQuery.ajax/
Olha o que é dito em relação à configuração “data”:

Documentação $.ajax():
data => Object, String

Data to be sent to the server. It is converted to a query string, if not already a string. It’s appended to the url for GET-requests. See processData option to prevent this automatic processing. [color=red]Object must be Key/Value pairs[/color]. If value is an Array, jQuery serializes multiple values with same key based on the value of the traditional setting (described below).

R

Alguem poderia postar um exemplo…Já dei uma olhada no site do Jquery mas não consegui o que queria.
Ex.: Quero passar para uma action que tem um objeto pessoa, os atributos de pessoa(pessoa.nome, pessoa.idade) como seria a sintaxe?

W

O exemplo que o davidbuzatto postou me parece o que vc precisa, não?

var pessoa = {
   nome: 'Robson',
   idade: 22
};

$.ajax({
   url: sua_url,
   data: pessoa,
   type: 'POST' //ou o tipo que vc precisar
}).success(function(data) {
   alert('salvo com sucesso');
}).error(function() {
   alert('falha ao salvar');
});

Veja na documentação do jquery os parâmetros adicionais, se precisar.

R

Vlw cara, resolveu aqui.

P

vc pode usar o metodo serialize() do jquery.

Criado 1 de agosto de 2012
Ultima resposta 23 de ago. de 2012
Respostas 6
Participantes 5