Eğer sunucu alırken HTTP başlıklarını bakmak isteyebilirsiniz.
Örneğin, 'ben bu sayfa var düşünelim:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.js"></script>
</head>
<body>
<div id="test"></div>
<script type="text/javascript">
$('#test').load('temp.php');
</script>
</body>
</html>
Ve temp.php script sadece bu içerir:
<?php
var_dump($_SERVER);
die;
When load
is executed, the "test" <div>
will contain the dump of $_SERVER
; and it'll include this, amongst other things :
'HTTP_X_REQUESTED_WITH' => string 'XMLHttpRequest' (length=14)
XMLHttpRequest
a> Ajax isteği yapmak için kullanılan nesnedir.
This means you should be able to detect if the request was made via an AJax query, with something like this :
if (isset($_SERVER['HTTP_X_REQUESTED_WITH'])
&& $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
echo "Ajax";
} else {
echo "Not Ajax";
}
Bu ile, sayfa "normal", ya da bir Ajax isteği üzerinden denir olmadığını algılamak ve düzeni dahil veya gerekiyorsa karar verebilirsiniz.
BTW : this is exactly the solution that's used by, for instance, Zend Framework, to detect Ajax requests.