php_PHP チュートリアルでリクエストが ajax リクエストであるか通常のリクエストであるかを判断する方法
ajax
path
php
判断
存在する
方法
普通
の
聞く
まだ
/path/to/pkphp.com/script.php?ajax
次のメソッドを使用して php スクリプト内で決定します:
コードをコピーします コードは次のとおりです:
if(isset($_GET ['ajax']) ) {
...これは ajax リクエストであるため...
}
else {
...これは ajax リクエストではないため...
}
による簡単な実装_GET パラメータを渡す Web ページリクエストの決定。ただし、そのような機能が必要な場合、この方法には欠点がある可能性があります。機能要件は次のとおりです。
1. ajax を通じてリクエストされる Web ページのコンテンツは、通常のリクエストを通じてリクエストされる Web ページのコンテンツとは異なります。 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. この問題を解決するには前提条件があります。つまり、jquery フレームワークでは $.ajax を使用する必要があります。 .get または $.post メソッドが Web ページのコンテンツをリクエストすると、HTTP_X_REQUESTED_WITH パラメータがサーバーに渡されます。次のメソッドを使用して、リクエストが Ajax リクエストであるか通常のリクエストであるかを判断できます。 $_SERVER['HTTP_X_REQUESTED_WITH' ]) && strto lower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
2. jquery リクエストが Web を開く場合、注意が必要な別の問題があります。 iframe を介してページにアクセスすると、HTTP_X_REQUESTED_WITH パラメーターは渡されません。つまり、リクエストのタイプを判断する方法がありません。
http://www.bkjia.com/PHPjc/323734.html
www.bkjia.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
2週間前
By 尊渡假赌尊渡假赌尊渡假赌
レポ:チームメイトを復活させる方法
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
R.E.P.O.ファイルの保存場所:それはどこにあり、それを保護する方法は?
3週間前
By DDD

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック
Gmailメールのログイン入り口はどこですか?
7328
9


Java チュートリアル
1626
14


CakePHP チュートリアル
1350
46


Laravel チュートリアル
1262
25


PHP チュートリアル
1209
29



PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
