Heim php教程 PHP开发 So ermitteln Sie, ob es sich bei einer Anfrage um eine Ajax-Anfrage oder eine normale Anfrage in PHP handelt

So ermitteln Sie, ob es sich bei einer Anfrage um eine Ajax-Anfrage oder eine normale Anfrage in PHP handelt

Nov 30, 2016 am 09:19 AM

/path/to/pkphp.com/script.php?ajax
Verwenden Sie die folgende Methode, um im PHP-Skript zu ermitteln:
Kopieren Sie den Code. Der Code lautet wie folgt:
if(isset( $_GET['ajax' ])) {
...Das ist dann eine Ajax-Anfrage...
}
else {
...Das ist dann keine Ajax-Anfrage. ..
}

Die Beurteilung von Webseitenanfragen wird einfach durch Übergabe des _GET-Parameters implementiert. Wenn eine solche Funktion jedoch benötigt wird, kann diese Methode folgende Nachteile haben:
1 Der Inhalt der über Ajax angeforderten Webseite unterscheidet sich vom Inhalt der über normale Anforderungen angeforderten Webseite
2. Die über Ajax angeforderte Webseite ist für Benutzer bequem zu bedienen. Der erforderliche Inhalt der von beiden Methoden angeforderten Webseite ist derselbe, der Inhalt der von Ajax angeforderten Webseite ist jedoch relativ vereinfacht und einfach zu verwenden, und die große Rahmenvorlage der Webseite wird entfernt.
3. Der Zweck davon ist: Wenn der Benutzer die Webseite über Ajax bedient und die Suchmaschine auf die Webseite zugreift (entspricht dem Öffnen einer normalen Webseite), ist der erhaltene Inhalt eine vollständige Webseite (einschließlich). die große Rahmenvorlage der Webseite) ).
Um die obige Funktion abzuschließen, können Sie die zuvor eingeführte GET-Parameterübergabe nicht zur Beurteilung verwenden. Wenn Sie zur Beurteilung die GET-Übergabe verwenden, haben die Benutzer-Ajax-Anfrage und die normale Webseitenanforderung denselben Inhalt, da dies nicht möglich ist Ein Link legt eine URL mit und ohne Ajax-Beurteilungsparameter fest. Wie können wir diese Funktion implementieren? Dieses Problem muss durch serverseitige PHP-Beurteilung gelöst werden. Das heißt, ich werde heute darüber sprechen, wie PHP Ajax-Anfragen beurteilt. Für die Lösung dieses Problems gibt es eine Voraussetzung: Das von Ihnen verwendete Ajax-Framework muss jquery sein. Wenn im JQuery-Framework Webinhalte über die Methoden $.ajax, $.get oder $.post angefordert werden, wird ein HTTP_X_REQUESTED_WITH-Parameter an den Server übergeben. Sie können die folgende Methode verwenden, um festzustellen, ob es sich bei einer Anfrage um eine Ajax-Anfrage handelt oder eine Ajax-Anfrage. Gewöhnliche Anfrage:
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
.. Dies ist eine Ajax-Anfrage, dann...
}
else {
..Dies ist keine Ajax-Anfrage, dann...
}
if(isset($_SERVER['HTTP_X_REQUESTED_WITH ']) && strtolower( $_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH
{
... Dies ist eine Ajax-Anfrage, dann...
}
else {
...Dies ist keine Ajax-Anfrage, dann...
}
Verwenden Sie dies, um Beurteilungsoperationen durchzuführen Behalten Sie die Konsistenz der URLs auf der Webseite bei, aber es können Webseiten mit unterschiedlichen Inhalten für zwei verschiedene Anfragen abgerufen werden, wodurch eine Optimierung des Benutzerbetriebs erreicht wird, ohne die Einbeziehung in Suchmaschinen zu beeinträchtigen.
Es gibt noch eine andere Sache Beachten Sie hier, dass das Problem darin besteht, dass der Parameter HTTP_X_REQUESTED_WITH nicht übergeben wird, wenn Ihre JQuery-Anfrage eine Webseite öffnet, was bedeutet, dass Sie keine Möglichkeit haben, den Typ der Anfrage zu bestimmen :

1. Es gibt eine Voraussetzung für die Lösung dieses Problems, das heißt, das von Ihnen verwendete Ajax-Framework muss jquery sein. Im Jquery-Framework können Sie Webseiten über $.ajax, $ anfordern .get- oder $.post-Methoden verwenden, wird ein HTTP_X_REQUESTED_WITH-Parameter an den Server übergeben. Sie können die folgende Methode verwenden, um zu bestimmen, ob es sich bei einer Anfrage um eine Ajax-Anfrage oder eine normale Anfrage handelt:
if(isset($_SERVER ['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER[ 'HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{

2.
Es gibt ein weiteres Problem, das Aufmerksamkeit erfordert, nämlich wenn Ihre JQuery-Anfrage öffnet die Webseite über einen Iframe, dann werden HTTP_X_REQUESTED_WITH-Parameter nicht übergeben, was bedeutet, dass Sie keine Möglichkeit haben, den Typ der Anfrage zu bestimmen. Bei Nachdruck bitte
angeben

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)