Cuándo usar GET y POST en Ajax

click fraud protection

Cuando usas Ajax (JavaScript asíncrono y XML) para acceder al servidor sin volver a cargar 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 tiene cuando pasa solicitudes al servidor para cargar una nueva página, pero con dos diferencias. La primera es que solo solicita una pequeña información en lugar de una página web completa. La segunda diferencia más notable es que, dado que la solicitud de Ajax no aparece en la barra de direcciones, sus visitantes no notarán una diferencia cuando se realice la solicitud.

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

Lo que no debes hacer

Entonces, ¿cómo deberíamos elegir cuál de estas dos alternativas debería usarse?

Un error que pueden cometer algunos principiantes es usar GET para la mayoría de sus llamadas simplemente porque es el más fácil de 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 cuando se solicita una nueva carga de página.

instagram viewer

La única diferencia es que porque solo está procesando una pequeña cantidad de datos con una solicitud de Ajax (o al menos así es como usted debería usarlo), es mucho menos probable que se encuentre con este límite de longitud desde Ajax como lo haría al cargar una web completa página. Un principiante puede reservar usando solicitudes POST para las pocas instancias en las que necesitan pasar más información que el método GET permite.

La mejor solución cuando tiene que pasar muchos datos de esa manera es hacer que varias llamadas de Ajax pasen algunos datos a la vez. Si va a pasar grandes cantidades de datos en una sola llamada Ajax, probablemente sea mejor simplemente volver a cargar toda la página ya que no habrá una diferencia significativa en el tiempo de procesamiento cuando grandes cantidades de datos son involucrado.

Entonces, si la cantidad de datos a transmitir no es una buena razón para elegir entre GET y POST, ¿qué debemos usar para decidir?

De hecho, estos dos métodos se configuraron para propósitos completamente diferentes, y las diferencias entre cómo funcionan se deben en parte a la diferencia en lo que están destinados a ser utilizados. Esto no solo se aplica al uso de GET y POST de Ajax, sino que en cualquier lugar donde se puedan emplear estos métodos.

El propósito de GET y POST

GET se usa como su nombre lo indica: a obtener información. está destinado a usarse cuando está leyendo información. Los navegadores almacenarán en caché el resultado de una solicitud GET y, si se vuelve a realizar la misma solicitud GET, mostrarán el resultado en caché en lugar de volver a ejecutar la solicitud completa.

Esto no es una falla en el procesamiento del navegador; está deliberadamente diseñado para funcionar de esa manera y hacer que las llamadas GET sean más eficientes. Una llamada GET solo está recuperando la información; no está destinado a cambiar ninguna información en el servidor, por lo que solicitar los datos nuevamente debería devolver los mismos resultados.

El método POST es para destino o actualizar información en el servidor. Se espera que este tipo de llamada cambie los datos, por lo que los resultados devueltos por 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 anteriores a 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 pasa en su llamada Ajax, debe elegir en función de lo que realmente está haciendo la llamada Ajax.

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

Use POST si su llamada va a escribir algún dato en el servidor.

De hecho, no solo debe usar este criterio para seleccionar entre GET y POST para sus llamadas de Ajax, sino también para seleccionar cuál debe usarse para procesar formularios en su página web.

instagram story viewer