¿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:
Accept: application/json
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:
Entonces, usar $ .get con dataType: JSON funcionaría exactamente igual que $ .getJSON.