Heim >Backend-Entwicklung >PHP-Problem >So ermitteln Sie, ob PHP Ajax ist

So ermitteln Sie, ob PHP Ajax ist

王林
王林Original
2019-09-21 11:49:413119Durchsuche

So ermitteln Sie, ob PHP Ajax ist

Heute bin ich auf den folgenden Code in M_Controller gestoßen, sodass ich ein wenig darüber gelernt habe, wie man den Unterschied zwischen Ajax-Anfrage, Post-Anfrage und REQUEST_TIME- und time()-Funktion beurteilt. Die

define('IS_AJAX', $this->input->is_ajax_request());
define('IS_POST', $_SERVER['REQUEST_METHOD'] == 'POST' && count($_POST) ? TRUE : FALSE);
define('SYS_TIME', $_SERVER['REQUEST_TIME'] ? $_SERVER['REQUEST_TIME'] : time());

is_ajax_request()-Methode ist eine Methode in CI, um zu bestimmen, ob eine Ajax-Anfrage gestellt wird. Das offizielle Dokument erklärt es wie folgt: Überprüfen Sie, ob der Server-Header HTTP_X_REQUESTED_WITH enthält, und geben Sie TRUE zurück, wenn ja. andernfalls FALSE zurückgeben.

Natürlich ist ein solches Urteil nicht perfekt. Das Prinzip des Urteils ist wie folgt:

Wenn wir eine Ajax-Anfrage über jquery senden, wird ein Ajax-Header mit dem Namen X- gesendet. Angefordert - Mit Informationen lautet der Standardinhalt der Informationen: XMLHttpRequest, das die Grundlage für die Beurteilung von Ajax-Anfragen durch das CI-Framework darstellt.

Aber wie beurteilen wir, wenn wir native JS verwenden?

xmlHttpRequest.setRequestHeader("request_type","ajax");

Legen Sie den Header gemäß dem XMLHttpRequest-Objekt manuell fest. Nachdem die obigen Einstellungen abgeschlossen sind, können wir ihn wie folgt im PHP-Logikcode erhalten:

$_SERVER['HTTP_REQUEST_TYPE']

Natürlich ist das r, das wir festgelegt haben im Headerequest_typeFügen Sie beim Abrufen im Hintergrund die Präfixzeichenfolge von HTTP_ hinzu, um die von der Rezeption gesendeten Header-Informationen abzurufen, dh indem Sie $_SERVER['HTTP_REQUEST_TYPE'] aufrufen, um den von der Rezeption übergebenen Wert zu erhalten: ajax Von Natürlich kann request_type auch auf andere Felder gesetzt werden.

Der obige Inhalt dient nur als Referenz!

Empfohlenes Tutorial: PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob PHP Ajax ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn