Como identificar una llamada AJAX saber si la petición se hizo por ajax o url

Todos los programadores que utilicen ajax se encuentran el el conflicto de hacer que sus páginas sean accedidas por url tradicional al mismo tiempo, el problema surge por la diferencia de respuesta que debería dar el server a la hora de procesar la llamada
Esto es si la llamada es ajax entonces devolver solo la parte de la página que se quiere cambiar , si la llamada es por medio de url , devolver toda la página con el fragmento de código a cambiar incluido. Para esto necesitamos identificar la llamada ajax , en php se hace de la siguiente manera

Identificar llamada ajax en PHP

todas las librerias javascript como jquery , mootools , prototype al realizar una llamada ajax envian la cabecera

HTTP_X_REQUESTED_WITH

como este campo viene seteado solo si la llamada es ajax, si el request viene por url o post, esta cabecera no viene seteada

entonces todo lo que tenemos que hacer es preguntar por la cabecera que traera el valor xmlhttprequest

Para simplificar las cosas podemos crear una función php que nos indique que tipo de llamada es

Código PHP

Esta función devuelve true si la llamada es ajax y false si no lo es

function isAjax()
{
    if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
    {return true;}
    else
    {return false;}
}
This entry was posted in JavaScript, PHP. Bookmark the permalink.

One thought on “Como identificar una llamada AJAX saber si la petición se hizo por ajax o url

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>