2009-08-27 20 views
36

Digamos que quiero ejecutar un script PHP. ¿Qué camino es mejor?jQuery ajax() vs get()/post()

Este:

$.ajax({ 
    type: "GET", 
    url: "php-script.php", 
    dataType: "script" 
}); 

O esto:

$.get("php-script.php", function(data) { }); 
+0

¿Cuáles son los efectos del script? –

Respuesta

29

En este caso, diría $.get, ya que está claro de inmediato cuál es el tipo de solicitud. En cualquier caso, es solo una abreviatura de la llamada ajax de mayor tamaño y más opciones, y la conversión entre las dos es trivial en el peor de los casos.

Si cree que necesitará opciones de lujo $.ajax, use $.ajax. Si usted no utiliza los métodos de conveniencia jQuery proporciona, como .load, $.get, etc.

22

$.get() es sólo un atajo para un $.ajax() llamada del tipo "GET".

Para elaborar $.get() simplemente llama a $.ajax() en el fondo. Es un atajo tipo de lo que $(function(){}) es a $(document).ready(function(){}). Los casos de uso común para $.get son para obtener una obtención rápida y simple; $.ajax se debe usar si necesita hacer algo un poco más complejo o si necesita flexibilidad adicional.

+0

$ .get wraps $ .ajax con type = "GET". Es más que solo un atajo, la diferencia clave es que no puedes hacer una solicitud POST al servidor usando $ .get. – karim79

+3

uhh, hubiera pensado que era obvio ... lo he actualizado ya que no es así. –

+0

@Darko Z - no, no pareció obvio por su respuesta, es por eso que comenté - para señalarlo. Su actualización, sin embargo, lo hace obvio. – karim79

1

$.get()/$.post() no son compatibles con beforeSend$.ajax() como lo hace. Por lo tanto, no puede, por ejemplo, mostrar una ruleta mientras carga directamente. Pero puedes hacer esto con .ajaxStart().