検索
ホームページphp教程PHP开发リクエストがAjaxリクエストであるかPHPで通常のリクエストであるかを判断する方法

/path/to/pkphp.com/script.php?ajax
PHP スクリプトで次のメソッドを使用して決定します。
コードをコピーします。 コードは次のとおりです。
if(isset($_GET['ajax']) ) {
... これは ajax リクエストであるため...
}
else {
... これは ajax リクエストではないということ...
}

Web ページのリクエストは、 _GET パラメータ。しかし、そのような機能が必要な場合、この方法には欠点があるかもしれません。 ajax を介して要求される Web ページは、ユーザーの操作の便宜を図るためのものであり、ajax によって要求される Web ページのコンテンツが比較的簡略化されて使用されている点と、大きなフレームが使用されている点を除いて、2 つのメソッドで要求される Web ページの必要なコンテンツは同じです。 Web ページのテンプレートが削除されます。
3. この目的は、ユーザーが ajax を介して Web ページを操作し、検索エンジンが Web ページにアクセスすると (通常に Web ページを開くのと同等)、取得されるコンテンツは完全な Web ページです (大きなサイズのものも含む)。 Web ページのフレーム テンプレート)。
上記の機能を完了するには、先ほど紹介したGETパラメータの受け渡しを使用して判定することはできません。GETの受け渡しを使用して判定を行うと、リンクを提供できないため、ユーザーのajaxリクエストと通常のWebページのリクエストは同じ内容になります。 ajax判定パラメータあり、なしのURLを設定します。では、この機能をどのように実装すればよいのでしょうか?この問題はサーバー側のPHP判断で解決する必要があります。つまり、今日お話しするのは、PHP が ajax リクエストをどのように判断するかということです。この問題を解決するには前提条件があります。それは、使用する ajax フレームワークが jquery である必要があるということです。 jquery フレームワークでは、$.ajax、$.get、または $.post メソッドを通じて Web コンテンツをリクエストするときに、HTTP_X_REQUESTED_WITH パラメータをサーバーに渡します。次のメソッドを使用して、リクエストが ajax リクエストであるかどうかを判断できます。または、通常のリクエスト:
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strto lower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
.. これは ajax リクエストです。 ...
}
else {
..これは Ajax リクエストではありません。すると...
}
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strto lower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')if( isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strto lower($_SERVER['HTTP_X_REQUESTED_WITH
{
...これは Ajax リクエストです、そして...
}
else {
...これは ajax リクエストではないので...
}
これを使用して判定操作を実行すると、Web ページ上の URL の一貫性を保ちながら、2 つの異なるリクエストに対して異なるコンテンツの Web ページを取得できるため、検索に影響を与えることなくユーザー操作の最適化を実現できます。
ここで注意すべきもう 1 つの問題は、jquery リクエストが iframe 経由で Web ページを開く場合、HTTP_X_REQUESTED_WITH パラメーターが渡されないことです。つまり、リクエストを判断する方法がありません。

主な内容は次のとおりです:

1. この問題を解決するには、使用する ajax フレームワークが $.ajax である必要があります。 、または Web コンテンツをリクエストするときに $.post メソッドを使用すると、HTTP_X_REQUESTED_WITH パラメーターがサーバーに渡されます。次のメソッドを使用して、リクエストが Ajax リクエストであるか通常のリクエストであるかを判断できます:
if(isset($_SERVER[' HTTP_X_REQUESTED_WITH']) && strto lower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{

2. jquery リクエストが iframe 経由で Web ページを開く場合、注意が必要な別の問題があります。の場合、HTTP_X_REQUESTED_WITH パラメーターは渡されません。つまり、リクエストのタイプを判断する方法がありません。 転載の際はご記載ください

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません