Domanda

In che modo Kohana determinare se una richiesta è un AJAX?

C'è qualcosa di diverso nella stringa di provenienza? Devo aggiungere un parametro GET, forse ?ajax=true?

È stato utile?

Soluzione

Controlla se la richiesta è fatta da XMLHttpRequest poiché la maggior parte del browser invia un colpo di testa in questo caso con questa indicazione:. Intestazione HTTP_X_REQUESTED_WITH verrebbe impostato XMLHttpRequest

Altri suggerimenti

A partire dal v2.3.4

/**
 * Tests if the current request is an AJAX request by checking the 
 * X-Requested-With HTTP request header that most popular JS frameworks 
 * now set for AJAX calls.
 *
 * @return  boolean
 */

public static function is_ajax()
{
  return (isset($_SERVER['HTTP_X_REQUESTED_WITH']) AND 
          strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest');
}

Necro-posting, perché questo è venuto su in primo luogo la mia ricerca google.

Non so se Kohana funziona ancora in questo modo, ma utilizzando HTTP_X_REQUESTED_WITH non è più delle migliori pratiche.

richieste Ajax - tutte le richieste HTTP in realtà -. Dovrebbe inviare una "Accetto" intestazione

Qualsiasi processo sul lato server dovrebbe esaminare il "Accept" intestazione per determinare quali contenuti inviare in risposta. Un modo per fare questo in PHP è:

  function is_ajax() {
    return $_SERVER['HTTP_ACCEPT'] == 'application/json';
  }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top