Principal


Como identificar una llamada AJAX saber si la peticion se hizo por ajax o url

****+ (4.55)
views: 1035

Todos los programadores que utilicen ajax se encuentran el el conflicto de hacer que sus paginas sean accedidas por url tradicional al mismo tiempo, el problema surge por la diferencia de respuesta que deberia dar el server a la hora de procesar la llamada

Esto es si la llamada es ajax entonces devolver solo la parte de la pagina que se quiere cambiar , si la llamada es por medio de url , devolver toda la pagina con el fragmento de codigo a cambiar incluido

Para esto necesitamos identificar la llamada ajax

esto se hace de la siguiente manera en PHP

en la cabecera hay un campo

HTTP_X_REQUESTED_WITH 
este campo viene seteado cada vez que la llamada es ajax, si la llamada viene por url o post, esta cabecera no viene

entonces para saber si es ajax en php
preguntamos si viene seteado y trae el valor   
xmlhttprequest

que es el valor por defecto que toda llamada ajax trae

entonces de esta forma podemos crear una funcion que nos indique que tipo de llamada es

function isAjax()
{
    if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
    {return true;}
    else
    {return false;}
   
}

Esta funcion devuelve true si la llamada es ajax y false si no lo es


 


Cómo Calificas este artículo?:
1 2 3 4 5


Los que entraron en este post también vieron:


Comentarios:

 jose luis dice:
El codigo que propones es muy interesante pero tengo un problema con la modificacion de cabeceras (add-on's: Live HTTP headers y otros...). Se te ocurre alguna manera de implementar algo mas de 'seguridad' (solidez) al codigo para evitar este problema?? (Espero haberme explicado bien, si no es asi, porfavor, hazmelo saber). 1 saludo y muchas gracias por el codigo!
2011-08-18
 jose luis dice:
El codigo que propones es muy interesante pero tengo un problema con la modificacion de cabeceras (add-on's: Live HTTP headers y otros...). Se te ocurre alguna manera de implementar algo mas de 'seguridad' (solidez) al codigo para evitar este problema?? (Espero haberme explicado bien, si no es asi, porfavor, hazmelo saber). 1 saludo y muchas gracias por el codigo!
2011-08-18
omarcio02@hotmail.com

Agregar Comentario:


Nombre:                       Valoración:
Comentario:
E-mail:(opcional)

Copie el texto: