プログラムのセキュリティ上の理由から、場合によっては、リクエストが AJAX リクエストであるかどうかを検出する必要があります。
この記事ではその体験を簡単に紹介します。
1. ネイティブ JavaScript を使用して Ajax リクエストを発行する場合、バックエンドの PHP プログラムが区別しやすいようにリクエスト ヘッダーに情報を追加できます。その方法は次のとおりです。
var xmlhttp=new XMLHttpRequest(); xmlhttp.open("GET","test.php",true); xmlhttp.setRequestHeader("X-Requested-With","XMLHttpRequest"); xmlhttp.send();
<?php // php 判断是否为 ajax 请求 if(isset($_SERVER['HTTP_X_REQUESTED_WITH'])&&strtolower($_SERVER['HTTP_X_REQUESTED_WITH'])=='xmlhttprequest'){ // ajax 请求的处理方式 }else{ // 正常请求的处理方式 }
注: jquery リクエストが iframe 経由で Web ページを開く場合、HTTP_X_REQUESTED_WITH パラメーターは渡されません。つまり、リクエストのタイプを判断する方法がありません。