is_ajax

Agregar a favoritos

6 Comentarios

Posteado hace 401 días en:

Sencilla función para saber si tus peticiones vienen de AJAX o no. Para que funcionen tienes que saber si tu framework envía esa cabecera.

function is_ajax(){
    return (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH']=='XMLHttpRequest');
}

Si utilizas tu propia clase tienes que enviarla

this.transport.setRequestHeader('X-Requested-With', 'XMLHttpRequest');

  • avatar

    daveez#1 hace 401 días

    Sólo una tontería... En el retorno de la funcion la comprobación de isset es redundante dada la segunda comprobacion.


  • avatar

    aurex#2 hace 401 días

    mmm daveez no es del todo redundate pues si intentas hacer la segunda comparacion sin haber hecho la peticion mediante ajax, entonces PHP por ejemplo marcaría un warning porque $_SERVER['HTTP_X_REQUESTED_WITH'] no está declarada, así, con isset se comprueba primero si la variable a sido declarada y ya despues compara, si no lo está, pues no tiene caso hacer la comparacion =D saludos


  • avatar

    Luis#3 hace 400 días

    Para que funcionen tienes que saber si tu framework envía esa cabecera.

    Si uso PHP5 me devuelve esta cabecera de todas formas?

    No entiendo el segundo snippet.


  • avatar

    IceBeat#4 hace 399 días

    @daveez tal como dice @aurex no es del otdo redundante.

    @Luis me refiero a framework javascript como Mootools o jQuery, perdon por la confusión.

    El segundo snippet es la función para el objeto AJAX el cual permite cambiar las cabeceras.


  • avatar

    Freddy#5 hace 393 días

    interesante funcion. Saludos!


  • avatar

    IceBeat#6 hace 392 días

    @Freddy saludos :).