Heim >Backend-Entwicklung >PHP-Problem >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_type
Fü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!