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
1 2 3 4 5
Comentarios:
|
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
|
|
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 |

(4.55)