<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Xestionando_petici%C3%B3ns_GET_e_POST</id>
	<title>Xestionando peticións GET e POST - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Xestionando_petici%C3%B3ns_GET_e_POST"/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Xestionando_petici%C3%B3ns_GET_e_POST&amp;action=history"/>
	<updated>2026-10-26T17:25:29Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manuais.iessanclemente.net/index.php?title=Xestionando_petici%C3%B3ns_GET_e_POST&amp;diff=53725&amp;oldid=prev</id>
		<title>Veiga: /* Facendo peticións con POST */</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Xestionando_petici%C3%B3ns_GET_e_POST&amp;diff=53725&amp;oldid=prev"/>
		<updated>2015-03-05T13:25:50Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Facendo peticións con POST&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;O comando &amp;#039;&amp;#039;&amp;#039;load()&amp;#039;&amp;#039;&amp;#039; serve tanto para facer peticións GET ou POST dependendo de como configuremos a petición.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;¿Cando deberemos usar un método ou outro?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Pois por temas de seguridade e versatilidade ó enviar datos ó servidor usaremos o método POST.&lt;br /&gt;
&lt;br /&gt;
Nalgúns casos por facilidade de programación e sempre e cando non hai ningún conflicto na seguridade poderemos empregar o método GET. O método GET tamén ten a limitación da cantidade máxima de datos que se pode enviar (estaría limitada pola cantidade máxima de texto que poderemos escribir na URL).&lt;br /&gt;
&lt;br /&gt;
{{Alerta|Sobre o método GET|&lt;br /&gt;
Un dato importante é que moitos navegadores cando fan a caché de páxinas, si estamos empregando o método GET, pode darse o caso de que en vez de baixar de novo a páxina do servidor, amósanos a páxina da caché, dando lugar a confusións moitas veces imcomprensibles.}}&lt;br /&gt;
&lt;br /&gt;
=== Obtendo datos con jQuery ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
    jQuery.get( url, [data], [callback], [type] )&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Cando queremos obter datos dende o servidor e decidir o que queremos facer con eles (en vez de deixar que o comando load() o asigne como contido dun elemento HTML), podemos empregar o comando &amp;#039;&amp;#039;&amp;#039;$.get()&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
A sintaxe é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;$.get(url,parametros,retorno)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Como parámetros introduciremos os datos que se enviarán á url. Exemplos de uso:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
   // Chama á páxina test.php sin pasar ningún parámetro adicional.&lt;br /&gt;
   $.get(&amp;quot;test.php&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
   // Chama á páxina test.php pasando como datos o nome e a hora.&lt;br /&gt;
   $.get(&amp;quot;test.php&amp;quot;, { nome: &amp;quot;Carlos&amp;quot;, hora: &amp;quot;4pm&amp;quot; } );&lt;br /&gt;
&lt;br /&gt;
// No seguinte exemplo pasamos un array de datos ó servidor, e ignoramos a resposta &lt;br /&gt;
// devolta polo servidor.&lt;br /&gt;
   $.get(&amp;quot;test.php&amp;quot;, { &amp;#039;choices[]&amp;#039;: [&amp;quot;Jon&amp;quot;, &amp;quot;Susan&amp;quot;]} );&lt;br /&gt;
&lt;br /&gt;
// Chamamos á páxina test.php, e ó rematar a execución amosará unha alerta cos datos devoltos&lt;br /&gt;
// pola páxina test.php e que se atopan na variable data.&lt;br /&gt;
   $.get(&amp;quot;test.php&amp;quot;, function(data){&lt;br /&gt;
        alert(&amp;quot;Datos devoltos: &amp;quot; + data);&lt;br /&gt;
   });&lt;br /&gt;
&lt;br /&gt;
// Chama á páxina test.cgi pasando o nome e hora como párametros polo método GET, e xestiona a&lt;br /&gt;
// resposta mediante a función e amosa unha alerta cos resultados devoltos.&lt;br /&gt;
   $.get(&amp;quot;test.cgi&amp;quot;, { nome: &amp;quot;Carlos&amp;quot;, hora: &amp;quot;8pm&amp;quot; },&lt;br /&gt;
         function(data){&lt;br /&gt;
                alert(&amp;quot;Datos devoltos: &amp;quot; + data);&lt;br /&gt;
         });&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemplo completo: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
  &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Ejemplo: $.get()&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;button type=&amp;quot;button&amp;quot; id=&amp;quot;testButton&amp;quot;&amp;gt;Pulsame!&amp;lt;/button&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;script src=&amp;quot;http://code.jquery.com/jquery-2.1.3.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 &amp;lt;script&amp;gt;&lt;br /&gt;
  $(function(){&lt;br /&gt;
    $(&amp;#039;#testButton&amp;#039;).click(function(){&lt;br /&gt;
      $.get(                              &lt;br /&gt;
        &amp;#039;reflectData.php&amp;#039;,                &lt;br /&gt;
        {a:1, b:2, c:3},                  &lt;br /&gt;
        function(data) { alert(data); }   &lt;br /&gt;
        );                                  &lt;br /&gt;
    });&lt;br /&gt;
  });&lt;br /&gt;
&amp;lt;/script&amp;gt;  &lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Obtendo datos JSON ===&lt;br /&gt;
&lt;br /&gt;
{{Alerta|¿Qué é JSON?|&amp;#039;&amp;#039;&amp;#039;JSON&amp;#039;&amp;#039;&amp;#039;, é un acrónimo de &amp;#039;&amp;#039;&amp;#039;JavaScript Object Notation&amp;#039;&amp;#039;&amp;#039;, é un formato lixeiro para o intercambio de datos. &amp;#039;&amp;#039;&amp;#039;JSON&amp;#039;&amp;#039;&amp;#039; é un subconxunto da notación literal de obxectos de JavaScript que non precisa do uso de XML.}}&lt;br /&gt;
&lt;br /&gt;
[[http://es.wikipedia.org/wiki/JSON Máis información sobre JSON]]&lt;br /&gt;
&lt;br /&gt;
Cando a páxina á que lle enviamos datos nos devolve o resultado en formato XML, pode ser unha tarefa complicada o xestionar eses datos. O XML ten como vantaxes a flexibilidade e é un formato axeitado cando traballamos con estructuras xerárquicas de datos.&lt;br /&gt;
&lt;br /&gt;
Cando o XML non nos aporta vantaxes no seu uso, temos á nosa disposición un novo formato que pode sustituilo: o JSON.&lt;br /&gt;
&lt;br /&gt;
O JSON tamén conta coa vantaxe de que representa mellor a estructura dos datos e require menos codificación e procesamento.&lt;br /&gt;
&lt;br /&gt;
Características máis importantes de JSON:&lt;br /&gt;
# Representación de información xerarquizada dende javascript.&lt;br /&gt;
# É a alternativa máis extendida ó XML, quizais porque é moito máis simple (ainda que non moi humano), e sobre todo é máis rápido de parsear.&lt;br /&gt;
# Existen montón de servizos ofertados en JSON (en lugar de con XML): Google (kml), Yahoo(pipes), Flickr...&lt;br /&gt;
# É a forma máis rápida de servir a jQuery datos estructurados nunha soa petición.&lt;br /&gt;
&lt;br /&gt;
Exemplo:&lt;br /&gt;
{&lt;br /&gt;
   clave : &amp;#039;hola&amp;#039;,&lt;br /&gt;
   clave2 : [&amp;#039;mundo&amp;#039;,&amp;#039;luna&amp;#039;,&amp;#039;marte&amp;#039;]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Exemplo de uso de JSON:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// Partindo deste JSON como resposta do noso servidor:&lt;br /&gt;
{&lt;br /&gt;
    clave : &amp;#039;hola&amp;#039;,&lt;br /&gt;
    clave2 : [&amp;#039;mundo&amp;#039;,&amp;#039;luna&amp;#039;,&amp;#039;marte&amp;#039;]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$.getJSON( data.php ,{id:$(this).attr( id ),function(j) {&lt;br /&gt;
if (j.error) {&lt;br /&gt;
    alert( Error [ +j.error+ ] ;&lt;br /&gt;
    return;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$( #input1 ).val(j.clave);&lt;br /&gt;
&lt;br /&gt;
for(var idx in j.clave2) {&lt;br /&gt;
    $( #textarea1 ).append(j.clave2[idx]);&lt;br /&gt;
}&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outro exemplo de representación de datos en formato JSON:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;firstName&amp;quot;: &amp;quot;John&amp;quot;,&lt;br /&gt;
&amp;quot;lastName&amp;quot;: &amp;quot;Smith&amp;quot;,&lt;br /&gt;
&amp;quot;address&amp;quot;: {&amp;quot;streetAddress&amp;quot;: &amp;quot;21 2nd Street&amp;quot;, &amp;quot;city&amp;quot;: &amp;quot;New York&amp;quot;, &amp;quot;state&amp;quot;: &amp;quot;NY&amp;quot;, &amp;quot;Code&amp;quot;: 10021 },&lt;br /&gt;
&amp;quot;phoneNumbers&amp;quot;: [&amp;quot;212 555-1234&amp;quot;,&amp;quot;646 555-4567&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con jQuery dispomos dispomos da función &amp;#039;&amp;#039;&amp;#039;$.getJSON(url, parametros, retorno,tipo)&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
O formato dos parámetros é idéntico á función anterior &amp;#039;&amp;#039;&amp;#039;$.get()&amp;#039;&amp;#039;&amp;#039; salvo que temos un parámetro adicional &amp;#039;&amp;#039;&amp;#039;tipo&amp;#039;&amp;#039;&amp;#039;, que é opcional e indicará o tipo de datos que devolverá a función de retorno: &amp;#039;&amp;#039;&amp;#039;&amp;quot;xml&amp;quot;, &amp;quot;html&amp;quot;, &amp;quot;script&amp;quot;, &amp;quot;json&amp;quot;, &amp;quot;jsonp&amp;quot;, ou &amp;quot;text&amp;quot;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Outro exemplo de uso:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
$.getJSON(&amp;quot;test.php&amp;quot;, function(datos){&lt;br /&gt;
  alert(&amp;quot;Datos obtidos en formato JSON: &amp;quot; + datos.address[3].name);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Alerta | MOI INTERESANTE|Unha das restriccións de seguridade máis importantes no uso de AJAX, é que soamente permite facer peticións a páxinas localizadas no mesmo dominio. Pois ben con este método $.getJSON , si na función de retorno especificamos unha funcion [[http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/ JSONP]] de retorno, poderemos obter datos JSON dun dominio externo ó noso.}}&lt;br /&gt;
&lt;br /&gt;
=== Facendo peticións con POST ===&lt;br /&gt;
&lt;br /&gt;
Se queremos face-la chamada enviando os datos polo método POST empregaremos esta función: &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;$.post(url, parametros, retorno, tipo)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
O formato dos parámetros é idéntico á función anterior &amp;#039;&amp;#039;&amp;#039;$.get()&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANTE:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
O parámetro opcional &amp;#039;&amp;#039;&amp;#039;tipo&amp;#039;&amp;#039;&amp;#039;, indicará o tipo de datos que devolverá a función de retorno: &amp;#039;&amp;#039;&amp;#039;&amp;quot;xml&amp;quot;, &amp;quot;html&amp;quot;, &amp;quot;script&amp;quot;, &amp;quot;json&amp;quot;, &amp;quot;jsonp&amp;quot;, ou &amp;quot;text&amp;quot;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Ésto é necesario si dende o servidor devólvese un objeto JSON empregando a cabeceira: application/json; charset=utf-8&lt;br /&gt;
Deste xeito non teremos que facer o $.parseJSON() ou JSON.parse() cando recibamos ese obxecto JSON.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exemplos:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
$.postJSON = function(url, data, callback) {&lt;br /&gt;
	$.post(url, data, callback, &amp;quot;json&amp;quot;);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$.post(&amp;quot;test.php&amp;quot;, { name: &amp;quot;John&amp;quot;, time: &amp;quot;2pm&amp;quot; },&lt;br /&gt;
  function(data){&lt;br /&gt;
    process(data);&lt;br /&gt;
  }, &amp;quot;xml&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Obtén os datos devoltos pola páxina test.php en formato JSON.&lt;br /&gt;
// En PHP para devolve-los datos en formato JSON:&lt;br /&gt;
// &amp;lt;?php echo json_encode(array(&amp;quot;name&amp;quot;=&amp;gt;&amp;quot;John&amp;quot;,&amp;quot;time&amp;quot;=&amp;gt;&amp;quot;2pm&amp;quot;)); ?&amp;gt;&lt;br /&gt;
// A función de PHP json_encode está dispoñible a partir da versión 5.2&lt;br /&gt;
&lt;br /&gt;
$.post(&amp;quot;test.php&amp;quot;, { func: &amp;quot;obterNomeHora&amp;quot; },&lt;br /&gt;
  function(data){&lt;br /&gt;
    alert(data.name); // John&lt;br /&gt;
    alert(data.time); //  2pm&lt;br /&gt;
  }, &amp;quot;json&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Veiga|Veiga]] ([[Usuario discusión:Veiga|discusión]]) 14:16 5 mar 2015 (CET)&lt;/div&gt;</summary>
		<author><name>Veiga</name></author>
	</entry>
</feed>