在php中判断一个请求是ajax请求还是普通请求的方法_PHP
Ajax
/path/to/pkphp.com/script.php?ajax在php脚本中使用如下方法判断:
复制代码 代码如下:
if(isset($_GET['ajax'])) {
...这是一个ajax请求,然后...
}
else {
...这不是一个ajax请求,然后...
}
通过传递_GET参数的方法简单实现了网页请求的判断。但是如果需要这样的功能,这个方法可能就有弊端,功能需求如下:
1.通过ajax请求的网页与普通请求的网页内容是不相同的
2.通过ajax请求的网页是为了方便用户操作,两种方法请求打开的网页必须的内容是相同的,只是ajax请求到的网页内容比较简化和使用,去除了网页的大框架模板。
3.这么做的目的是:用户在网页操作时通过ajax实现,而搜索引擎访问网页时(相当于普通打开网页),得到的内容是一个完整的网页(包含了网页的大框架模板)。
要完成上面的这个功能,就不能使用前面介绍的通过GET参数传递来判断了,如果使用GET传递来判断的话,用户ajax请求和普通网页请求都会是一样的内容,因为你不可能为一个链接设置一个带ajax判断参数和不带的URL。那么如何才能实现这个功能呢?必须通过服务器端PHP判断解决这个问题。也就是今天要说的PHP如何判断ajax请求。这个问题要解决有一个先决条件,那就是你使用的ajax框架必须是jquery。在jquery框架中,对于通过它的$.ajax, $.get, or $.post方法请求网页内容时,它会向服务器传递一个HTTP_X_REQUESTED_WITH的参数,你可以利用如下方法判断某个请求是ajax请求还是普通请求:
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
..这是一个ajax请求,然后...
}
else {
..这不是一个ajax请求,然后...
}
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
{
...这是一个ajax请求,然后...
}
else {
...这不是一个ajax请求,然后...
}
利用这个来进行判断操作,可以使网页端的URL保持一致,但是能够对两种不同的请求却能够得到不同内容的网页。即实现了用户操作优化,又不影响搜索引擎收录,我觉得是一个很棒的解决方案!
这里有一个另外需要注意的问题,就是如果你的jquery请求是通过iframe打开网页的,那么HTTP_X_REQUESTED_WITH参数不会被传递,也就是说你没有办法判断请求的类型。
主要内容是:
1.
这个问题要解决有一个先决条件,那就是你使用的ajax框架必须是jquery。在jquery框架中,对于通过它的$.ajax, $.get, or $.post方法请求网页内容时,它会向服务器传递一个HTTP_X_REQUESTED_WITH的参数,你可以利用如下方法判断某个请求是ajax请求还是普通请求:
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
2.
这里有一个另外需要注意的问题,就是如果你的jquery请求是通过iframe打开网页的,那么HTTP_X_REQUESTED_WITH参数不会被传递,也就是说你没有办法判断请求的类型。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









Ajax リクエストの有効期限を延長するにはどうすればよいですか?ネットワーク リクエストを行う場合、大量のデータや複雑な計算を処理する必要がある状況に遭遇することがよくあります。そのため、リクエストがタイムアウトしてデータが正常に返されない可能性があります。この問題を解決するには、Ajax リクエストの有効期限を延長することで、リクエストを確実に正常に完了させることができます。ここでは、Ajax リクエストの有効期限を延長する方法と具体的なコード例を紹介します。タイムアウト属性を使用して Ajax リクエストを行う場合、タイムアウト属性を次のように設定できます。

AJAX リクエストには固定の有効期限がありません。「非同期 JavaScript および XML」は、Web ページ上で非同期リクエストを送信するためのテクノロジーです。JavaScript を使用して、ページ全体を更新せずにサーバーにリクエストを送信し、応答を受信します。

Yii フレームワークでは、コントローラーはリクエストの処理において重要な役割を果たします。通常のページ リクエストの処理に加えて、コントローラーを使用して Ajax リクエストを処理することもできます。この記事では、Yii フレームワークで Ajax リクエストを処理する方法を紹介し、コード例を示します。 Yii フレームワークでは、Ajax リクエストの処理は次の手順で実行できます。 最初の手順は、コントローラー (Controller) クラスを作成することです。 Yii フレームワークが提供する基本コントローラークラス yiiwebCo を継承できます。

実用的なガイド: どの Ajax リクエスト ライブラリがあなたのプロジェクトに適していますか?フロントエンド開発の継続的な発展により、Ajax は Web 開発に不可欠な部分になりました。プロジェクトに適した Ajax リクエスト ライブラリを選択することは、開発効率を向上させ、ユーザー エクスペリエンスを最適化するために重要です。この記事では、読者が自分のプロジェクトに適したツールを選択できるように、一般的に使用される Ajax リクエスト ライブラリをいくつか紹介します。 jQueryAjax jQuery が最も人気のある JavaScript ライブラリの 1 つであることは否定できません。豊かな

開発の要点: 一般的に使用される Ajax リクエスト ライブラリについて調べてください。最新のフロントエンド開発では、非同期リクエストに Ajax を使用することが標準機能になっており、適切な Ajax リクエスト ライブラリを選択することで、ネットワーク リクエストをより効率的に処理できるようになり、開発効率とユーザー エクスペリエンスが向上します。この記事では、開発者がプロジェクトに適したツールを選択できるように、一般的に使用される Ajax リクエスト ライブラリをいくつか取り上げます。 jQueryAjax: 最も人気のある JavaScript ライブラリの 1 つである jQuery は、強力な Ajax リクエスト関数を提供します。

Ajax リクエストの有効期限はカスタマイズできますか? Web 開発では、多くの場合、Ajax を使用して非同期リクエストを実装し、ページにデータを動的にロードします。 Ajax リクエストを行う場合、リクエストのタイムアウトを制御する必要がある場合があります。つまり、時間制限を設定し、指定された時間内に応答が受信されない場合にリクエストを処理する必要があります。では、Ajax リクエストの有効期限はカスタマイズできるのでしょうか?この記事では、この問題について詳しく紹介し、具体的なコード例を示します。 jQueryのAjax機能を利用する

Ajax リクエストはどのような状況で期限切れになりますか? Web アプリケーションの開発に伴い、Ajax (非同期 JavaScript および XML) テクノロジは Web 開発の重要な部分になりました。 Ajax を通じて、サーバーからデータを取得し、ページ全体を更新せずに Web ページのコンテンツを動的に更新できます。ただし、Ajax を使用してリクエストを送信すると、リクエストの有効期限が切れる場合があります。では、Ajax リクエストはどのような状況で期限切れになるのでしょうか?

Ajaxリクエストの有効期限を設定するにはどうすればよいですか?特定のコード例が必要 インターネット アプリケーションの開発に伴い、Ajax は Web 開発に不可欠な部分になりました。 Ajax リクエストを送信する場合、リクエストが長すぎてユーザー エクスペリエンスが低下したり、ブラウザがフリーズしたりすることを防ぐために、リクエストの有効期限を制限する必要がある場合があります。この記事では、Ajax リクエストの有効期限を設定する方法と具体的なコード例を詳しく紹介します。 Ajax リクエストの有効期限の設定には主に XMLHttpRequest が必要です
