Heim  >  Artikel  >  Backend-Entwicklung  >  Wie stellt PHP fest, ob es sich um eine AJAX-Anfrage handelt?

Wie stellt PHP fest, ob es sich um eine AJAX-Anfrage handelt?

jacklove
jackloveOriginal
2018-05-22 18:05:398646Durchsuche

In diesem Artikel wird erklärt, wie PHP ermittelt, ob es sich um eine AJAX-Anfrage handelt. .

Von Jquery gesendete Ajax-Anfrage

jquery fügt dem Anforderungsheader X-Requested-With-Informationen hinzu, und der Informationsinhalt ist XMLHttpRequest, sodass PHP das globale Array $_SERVER verwenden kann Bestimmen Sie, ob es sich um eine Ajax-Anfrage handelt

//php bestimmt, ob es sich um eine Ajax-Anfrage handelt

if (isset($_SERVER["HTTP_X_REQUESTED_WITH"] && strtolower($_SERVER["HTTP_X_REQUESTED_WITH"] == 'xmlhttprequest')){
    // 是ajax请求
} else {
    // 不是ajax请求
}

Das erinnert mich also an die Konstante IS_AJAX in TP, die bestimmt, ob es eine Ajax-Anfrage ist eine Ajax-Anfrage

Hier sehen Sie, wie diese Konstante definiert ist

In ThinkPHP(3.2.2) in ThinkPHP/Library/Think/APP.class.php(Zeile: 49)

define('IS_AJAX', ((isset($_SERVER['HTTP_X_REQUESTED_WITH']) &&
 strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') || !emtpty($_POST(C('VAR_AJAX_SUBMIT')] || !empty($_GET[C('VAR_AJAX_SUBMIT')])) 
 ? true : false);

Es ist ersichtlich, dass ThinkPHP dieses Prinzip verwendet oder es in der Form übermittelt

Ajax-Anfrage initiiert durch natives js

Sie müssen das hinzufügen Header-Informationen selbst anfordern, damit Sie im Hintergrund Urteile fällen können

Der Code zum Hinzufügen von Anforderungsheadern am Frontend lautet:

var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET","test.php",true);
xmlhttp.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xmlhttp.send();

Dieser Artikel erklärt, wie PHP Bestimmt, ob es sich um eine AJAX-Anfrage handelt. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Lösung für die Behandlung der vom PHP-Programm gemeldeten date()-Warnung

Lösung der Parallelität in der PHP-Entwicklung Mehrere Implementierungsmethoden der Problem- und Fallerkennung

Tutorial zum schnellen Exportieren von Tabellendaten mit PHP

Das obige ist der detaillierte Inhalt vonWie stellt PHP fest, ob es sich um eine AJAX-Anfrage handelt?. 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