2012-03-26 28 views
9

Necesito recuperar una página simple y usar los datos que devuelve. ¿Hay alguna diferencia entre $.post() y $.get() si utilizo una sobre la otra?

No pienso enviar datos con la solicitud.

+0

He aquí un pequeño resumen de los métodos de jQuery AJAX más utilizados: http://www.catchmyfame.com/2012/03/05/whats-the- best-jquery-method-for-retrieving-ajax-data/ – j08691

Respuesta

12

Si solo desea recuperar el contenido de un documento html, use $.load() en su lugar.

Incluso puede recuperar la información parcial de ese documento, proporcionando un selector adicional:

$('#result').load('ajax/test.html'); 
$('#result').load('ajax/test.html #justThisContainerPlease'); 

ver http://api.jquery.com/load/


Para responder a su pregunta de manera más general, no es un gran diferencia si estás utilizando una solicitud POST o GET a un servidor, depende de la cantidad de datos que necesita enviar. Normalmente, una solicitud GET está limitada a 2083 (porque IE limita la cadena de consulta). Entonces, si tiene muchos datos para enviar, debe usar una solicitud POST.

Técnicamente, una solicitud GET debe ser un poco más rápida. Porque internamente se envía un solo paquete en lugar de al menos dos (uno para el encabezado y otro para el cuerpo de la transmisión). Pero eso realmente es optimización de alto rendimiento.

+0

+1 y aceptado debido al último párrafo. – qwertymk

+0

lea http://thenetworkguy.typepad.com/nau/2008/08/http-post-haste.html para elaborar el último párrafo – mbx

0

Vaya a $.get() ya que no es necesario que publique datos, o $.load() si desea mostrar la página en el navegador (desea actualizar una parte de la página).

+0

¿Hay alguna razón para usar $ .get over $ .post? – qwertymk

+0

Es más de semántica: POST significa 'actualizar un recurso en el servidor', GET significa 'recuperar el recurso del servidor'. –

2

Aquí hay un buen article que explica las diferencias entre un HTTP POST y un HTTP GET. Yo mismo prefiero usar $.ajax(); y ajustarlo en consecuencia.

1

Si no vas a enviar los datos, a continuación, en realidad se debe utilizar $.load();

$.get(); y $.post() son típicamente para enviar datos a un servidor, por lo que no los necesita en este contexto. Existen grandes diferencias entre los datos POST y GET, debe tomar algún tiempo para read up on them.

0

La principal diferencia entre ellos es que con POST se pasa una colección de datos y con GET pasa los datos en la URL. Si está pasando muchos datos, sugeriría POST. Si solo está llamando a una URL para una respuesta, entonces use get.

Para una comprensión completa, compruebe la documentación jQuery de cada uno.

GET: http://api.jquery.com/jQuery.get/

POST: http://api.jquery.com/jQuery.post/