2009-08-07 14 views
15

¿Cuándo se debe usar el método load (url, data, callback) versus jQuery.get (url, data, callback, type) al hacer llamadas AJAX con jQuery?AJAX jQuery.load versus jQuery.get

+1

para obtener más información: http://stackoverflow.com/questions/3870086/difference-between-ajax-and-get-and-load – cregox

Respuesta

20

En primer lugar, esas dos funciones son completamente diferentes. La función 'carga' funciona con selectores y carga el resultado de una llamada AJAX dentro del grupo seleccionado y la devolución de llamada es para manejar el evento "incompleto" de la llamada; mientras que la función $ .get es más general y la devolución de llamada maneja la respuesta exitosa de la llamada AJAX en la que puede definir el comportamiento que desee. Y puede encontrar toda esta información con solo mirar la documentación y la especificación del marco jQuery.

Here puede encontrar una buena documentación.

8

carga inyecta los datos directamente en el DOM. Si no necesita este comportamiento, use get.

-1

solo tendrían que mirar el código jQuery, ya que está disponible para su revisión. todos modos todas las llamadas deben alcanzar el mismo método, pero responder de diferentes maneras dependiendo de la necesidad

15

@ respuesta de Artem parece faltar el hecho de que el load es una función más genérico que get. De acuerdo con jQuery API docs, la carga usa get o post según los datos. Citando aquí:

Solicitud Método

Se utiliza el método POST si se proporcionan datos como un objeto; de lo contrario, se supone GET.

Así que para el propósito de obtener el contenido HTML parcial desde el servidor & insertarlo en el DOM, load es un método mejor que el método get, ya que el desarrollador no tiene que preocuparse por el manejo de datos de gran tamaño & diversos intermedios Pasos que realiza la función de carga antes de obtener & antes de insertar el contenido.

Por ejemplo, si tiene que cargar el contenido parcial de una página, se puede usar la siguiente expresión: $('#result').load('ajax/test.html #container');

Esta recupera el contenido del ajax/test.html, pero luego jQuery analiza el devueltos documento para encontrar el elemento con una ID de container. Este elemento, junto con su contenido, se inserta en el elemento con un ID de result, y el resto del documento recuperado se descarta.

Una cosa a tener en cuenta es que, cuando sólo se necesita una solicitud GET evitar proporcionar un objeto para el parámetro de datos & en lugar de utilizar el método $.param para obtener una forma de serie de los parámetros de la petición.

+0

Más bien, sugiero usar el parámetro de datos para mantener la estructura y los datos separados. Para consultas simples utilice la concatenación de cadenas ('id = '+ id') y para cosas más complejas use un objeto y el método param (' $ .param (object) 'o' $ .param ({id: id, foo: bar }) ') – Deebster

+0

@Deebster Se supone casos más simples. Entiendo que $ .param es mejor para escenarios complejos.He editado la respuesta. Gracias. – Sujay

Cuestiones relacionadas