Dúvida de Prototype (equivalente ao DOM)

Olá turma,

Estou com a seguinte dúvida, existe a classe request no prototype, justamente para fazer uma requisção para o servidor.

Ela é usada da seguinte forma:

		var pars = 'meuParametro=' + parametro;
		var requisicao = new Ajax.Request(
			url, 
			{
				method: 'get', 
				parameters: pars, 
				onComplete: processaRequest
			});

		...

	function processaRequest(request) {...}

Depois de o ajax enviar a requisição para o servidor, o mesmo retorna em tipo MINE “text/xml” do qual posso usar a biblioteca DOM para processar. Porém não sei o equivalemente a esse processo no prototype:

“Considerar o objeto request, o parámetro de entrada da função processaRequest”

var msg = request.responseXML.getElementsByTagName("minhaTagXML")[0].childNodes[0].nodeValue;

Dessa forma posso da uma parse XML na entrada enviado pelo server, porém no proto como seria?

normalmente eu retorno uma tag html (como uma lista

  • ou um <select>) que coloco em um div que fica oculto por default e que aparece com os dados retornados na classe. Porém quase nunca uso o prototype diretamente e sim o script.aculo.us (só uma ou outra vez uso uma função básica do prototype).

    abraços,

    otávio

[quote=otaviofcs]normalmente eu retorno uma tag html (como uma lista

  • ou um <select>) que coloco em um div que fica oculto por default e que aparece com os dados retornados na classe. Porém quase nunca uso o prototype diretamente e sim o script.aculo.us (só uma ou outra vez uso uma função básica do prototype).

    abraços,

    otávio[/quote]

    A questão é do request, posso retornar um resposta XML como eu faço com Ajax na mão e no caso usar o DOM para manipular, mas ACREDITO que o Prototype tenha alguma função para “retirar” esse trabalho de mim, porém os exemplos do site são incompletos e não consegui perceber nada que me atendesse.

new Ajax.Request(url, {
  method: 'get', 
  parameters: pars, 
  onComplete: function(resp) {
     alert(resp); // Objeto DOM com a resposta.
  }
});

E se você utilizar JSON também:

new Ajax.Request(url, {
  method: 'get', 
  parameters: pars, 
  onComplete: function(resp, json) {
     alert(resp); // Objeto DOM com a resposta.
     alert(json); // Objeto JSON retornado.
  }
});

Cara, não entendi direito o que quis dizer, mas o Script.aculo.us pode te fornecer funções como o Ajax.Autocompleter que mostra uma listagem em um div e te retorna a escolha que o usuário fez nesse div. Nesse caso o Ajax faz uma solicitação a um servlet, que retorna uma lista do tipo

  • para ser mostrada no div. Aí o usuário escolhe um item da lista e o Ajax me retorna o valor que ele escolheu (um texto obviamente) e eu atualizo 2 campos com isso.

    Simples assim. Não tenho que fazer nenhum grande tratamento, mas a função é do http://Sript.aculo.us que ele sim se utiliza das funções básicas do prototype que são mais básicas. Vê se dá uma olhada nos demos http://wiki.script.aculo.us/scriptaculous/show/Demos e ajuda a clarear suas idéias.

    abraços,

    otávio