Frage

Wie stellt Kohana fest, ob eine Anfrage ein Ajax ist?

Gibt es etwas anderes in der Referrer -Zeichenfolge? Muss ich vielleicht einen Get -Param hinzufügen? ?ajax=true ?

War es hilfreich?

Lösung

Es wird überprüft, ob die Anfrage von XMLHTTPREQUEST gestellt wird HTTP_X_REQUESTED_WITH würde auf eingestellt sein auf XMLHttpRequest.

Andere Tipps

Ab 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, weil dies zuerst meine Google-Suche aufging.

Dunno, wenn Kohana noch so funktioniert, aber mit http_x_requested_with ist nicht mehr die beste Praxis mehr.

AJAX -Anfragen - alle HTTP -Anfragen - sollten einen "Akzeptieren" -Header senden.

Jeder serverseitige Prozess sollte den Header "Akzeptieren" untersuchen, um zu bestimmen, welche Inhalte als Antwort gesendet werden sollen. Eine Möglichkeit, dies in PHP zu tun, ist:

  function is_ajax() {
    return $_SERVER['HTTP_ACCEPT'] == 'application/json';
  }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top