ホームページ > バックエンド開発 > PHPの問題 > PHPでAjaxリクエストかどうかを判断する方法

PHPでAjaxリクエストかどうかを判断する方法

藏色散人
リリース: 2023-03-12 08:58:01
オリジナル
3763 人が閲覧しました

php で ajax リクエストかどうかを判断する方法: 1. "if(isset($_SERVER["HTTP_X_REQUESTED_WITH"]){...}" メソッドを通じて判断します; 2. xmlhttp 情報を追加することによって判断します。判定.

PHPでAjaxリクエストかどうかを判断する方法

この記事の動作環境:Windows7システム、PHP7.1バージョン、Dell G3コンピュータ

php が ajax リクエストであるかどうかを判断する方法

PHP は AJAX リクエストであるかどうかを判断します

まず、フロントエンドが jQuery を使用しているかどうかを区別する方法について話しましょう:

jQuery が ajax リクエストを発行すると、リクエスト内に大文字と小文字を区別せずに という名前の情報を追加します)

これにより、次のような ajax リクエストであるかどうかを判断できますthis:

// php 判断是否为 ajax 请求  http://www.cnblogs.com/sosoft/
if(isset($_SERVER["HTTP_X_REQUESTED_WITH"]) && strtolower($_SERVER["HTTP_X_REQUESTED_WITH"])=="xmlhttprequest"){ 
    // ajax 请求的处理方式 
}else{ 
    // 正常请求的处理方式 
};
ログイン後にコピー

ネイティブ JavaScript を使用して Ajax リクエストを発行する場合、バックエンドの学生が区別しやすいようにヘッダーに情報を追加することもできます。方法は次のとおりです:

 var xmlhttp=new XMLHttpRequest(); 
 xmlhttp.open("GET","test.php",true); 
 xmlhttp.setRequestHeader("X-Requested-With","XMLHttpRequest"); 
 xmlhttp.send();
ログイン後にコピー

ここでは、jQuery と一貫性のある X_REQUESTED_WITH 情報をヘッダーに追加します。もちろん、区別するために他の情報に変更することもできます。

# OK、区別するメリットは何ですか? 2 つの例について話しましょう:

1. js ファイルが読み込まれていないとき 最後に、ユーザーがボタンまたはリンクをクリックしたとき、何が想定されていたかto be an ajax request become anormal request. 判断により、バックエンドは ajax 中に json データを出力せずにジャンプしました. これもグレースフル デグラデーションの一種です.

2. [A page] uses ajaxでログインする場合、[Bページ]は通常の方法でログインします 区別がないとバックエンドはほぼ同じコードを2回書く必要がありますが、区別があると重複したコードが消えます。 ## PHP の疑似静的機能をオンにします。

推奨: 「

PHP ビデオ チュートリアル

以上がPHPでAjaxリクエストかどうかを判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート