¿Quieres saber cuándo puedes usar GET y POST en Ajax?

Cuando utiliza Ajax (Asynchronous JavaScript y XML) para acceder al servidor sin recargar la página web, tiene dos opciones sobre cómo pasar la información de la solicitud al servidor: GET o POST.

 

Estas son las mismas dos opciones que tienes cuando pasas peticiones al servidor para cargar una nueva página, pero con dos diferencias. La primera es que usted sólo está solicitando un pequeño pedazo de información en lugar de una página web completa. La segunda y más notable diferencia es que como la solicitud de Ajax no aparece en la barra de direcciones, sus visitantes no notarán ninguna diferencia cuando se realice la solicitud.

 

Las llamadas realizadas utilizando GET no expondrán los campos y sus valores en ningún lugar que el uso de POST no exponga también cuando la llamada se realiza desde Ajax.

Lo que no debe hacer

Por lo tanto, ¿cómo debemos elegir cuál de estas dos alternativas debe utilizarse?

 

Un error que algunos principiantes podrían cometer es usar GET para la mayoría de sus llamadas simplemente porque es el más fácil de los dos para codificar. La diferencia más notable entre las llamadas GET y POST en Ajax es que las llamadas GET todavía tienen el mismo límite en la cantidad de datos que se pueden pasar como cuando se solicita una nueva carga de página.

 

La única diferencia es que como sólo estás procesando una pequeña cantidad de datos con una solicitud de Ajax (o al menos así es como deberías usarla), es mucho menos probable que te encuentres con este límite de longitud desde dentro de Ajax como si estuvieras cargando una página web completa. Un principiante puede reservar usando las peticiones POST para los pocos casos en los que necesita pasar más información que el método GET permite.

 

La mejor solución cuando tienes muchos datos que pasar así es hacer múltiples llamadas a Ajax pasando unos pocos datos a la vez. Si va a pasar grandes cantidades de datos en una sola llamada de Ajax, probablemente sería mejor que simplemente recargue toda la página, ya que no habrá una diferencia significativa en el tiempo de procesamiento cuando se trate de grandes cantidades de datos.

Por lo tanto, si la cantidad de datos que se van a pasar no es una buena razón para elegir entre GET y POST, ¿entonces qué debemos usar para decidir?

 

De hecho, estos dos métodos se crearon para fines totalmente diferentes, y las diferencias entre su funcionamiento se deben en parte a la diferencia en el uso para el que están destinados. Esto no sólo se aplica al uso de GET y POST desde Ajax, sino en cualquier lugar donde se puedan emplear estos métodos.

 

El propósito de GET y POST

GET es usado como su nombre lo indica: para obtener información. está destinado a ser usado cuando usted está leyendo información. Los navegadores almacenarán en caché el resultado de una petición GET y si la misma petición GET se realiza de nuevo, mostrarán el resultado de la caché en lugar de volver a ejecutar la petición completa.

Esto no es un defecto en el procesamiento del navegador; está diseñado deliberadamente para funcionar de esa manera para hacer que las llamadas GET sean más eficientes. Una llamada GET es simplemente recuperar la información; no tiene la intención de cambiar ninguna información en el servidor, por lo que solicitar los datos de nuevo debería devolver los mismos resultados.

 

El método POST es para publicar o actualizar información en el servidor. Se espera que este tipo de llamada cambie los datos, por lo que los resultados de dos llamadas POST idénticas pueden ser completamente diferentes entre sí. Los valores iniciales antes de la segunda llamada POST serán diferentes de los valores antes de la primera porque la llamada inicial habrá actualizado al menos algunos de esos valores. Por lo tanto, una llamada POST siempre obtendrá la respuesta del servidor en lugar de mantener una copia en caché de la respuesta anterior.

 

Cómo elegir GET o POST

En lugar de elegir entre GET y POST en función de la cantidad de datos que está pasando en su llamada de Ajax, debería elegir en función de lo que la llamada de Ajax está haciendo realmente.

Si la llamada es para recuperar datos del servidor, entonces use GET. Si se espera que el valor que se va a recuperar varíe con el tiempo como resultado de la actualización de otros procesos, añada un parámetro de tiempo actual a lo que está pasando en su llamada GET para que las llamadas posteriores no utilicen una copia en caché anterior del resultado que ya no es correcto.

 

Utilice POST si su llamada va a escribir cualquier dato en el servidor.

 

De hecho, no sólo debe utilizar este criterio para seleccionar entre GET y POST para sus llamadas a Ajax, sino también para seleccionar los que deben utilizarse para procesar formularios en su página web.

(0 votes)