diferencia entre $ .getJSON y $ .get

¿Hay realmente una diferencia en estas dos llamadas? Si usa getJSON, todavía tiene que declarar format=json en la url …

Y puede hacer lo mismo en $.get() , e iterar a través del objeto JSON.

¿O me voy de aquí?

Los siguientes dos fragmentos son equivalentes:

 $.get("/some/url", {data: "value"}, function(json) { // use json here }, "json") $.getJSON("/some/url", {data: "value"}, function(json) { // use json here }); 

Decir que una solicitud es para JSON significa dos cosas:

  • jQuery envía un encabezado Accept: application/json
  • jQuery interpreta la respuesta entrante, la convierte en un objeto de JavaScript y la pasa a la callback (para que no tenga que meterse con eval u otro mecanismo de conversión).

Varios marcos del lado del servidor (como Rails) detectan automáticamente el encabezado Accept y manejan la solicitud de manera adecuada. Si está utilizando un marco diferente o un rollo propio, puede inspeccionar el encabezado Accept para detectar el formato (en lugar de inspeccionar los parámetros).

Creo que la documentación lo explica muy claramente!

http://docs.jquery.com/Ajax/jQuery.get#urldatacallbacktype

Cargue una página remota usando una solicitud HTTP GET.

http://docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback

Cargar datos JSON utilizando una solicitud HTTP GET.

Recuerda, estas son solo abstracciones del método .ajax.

Las diferencias entre $ .getJSOn y $ .get están en los parámetros:

  1. $ .getJSON acepta objetos simples como datos, mientras que $ .get acepta objetos simples o cadenas.
  2. $ .get tiene el parámetro dataType.

Entonces, usar $ .get con dataType: JSON funcionaría exactamente igual que $ .getJSON.