Passando Parametros via Ajax JQUERY

6 respostas
kvnallen

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

wagnerfrancisco

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:

davidbuzatto

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).

robson.souza1990

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?

wagnerfrancisco

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.

robson.souza1990

Vlw cara, resolveu aqui.

perdeu

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