Возможно, вы захотите ознакомиться с заголовками HTTP, которые получает ваш сервер.
Например, давайте рассмотрим меня эту страницу:
<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>
и сценарий temp.php содержит только это:
<?php
var_dump($_SERVER);
die;
Когда load
выполняется, "тест" <div>
будет содержать свалку $_SERVER
; и он будет включать в себя это, среди прочего:
'HTTP_X_REQUESTED_WITH' => string 'XMLHttpRequest' (length=14)
XMLHttpRequest
является объектом, который используется, чтобы сделать запрос Ajax.
Это означает, что вы должны быть в состоянии обнаружить, если запрос был сделан с помощью запроса Ajax, с чем-то вроде этого:
if (isset($_SERVER['HTTP_X_REQUESTED_WITH'])
&& $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
echo "Ajax";
} else {
echo "Not Ajax";
}
С этим, вы можете обнаружить ли называется ваша страница «нормально» , или через запрос Ajax, и решить, следует ли включать макет или нет.
BTW: это именно то решение, которое используется, например, Zend Framework, до detect Ajax requests.
Так что, если у меня есть сценарий, который говорит:. $ ("# actualcontent") нагрузка ($ (это). атр ("HREF")); Как бы добавить к этому дополнительный параметр переменной/GET? – Tom
$ ("# actualcontent"). Load ($ (this) .attr ("href") + '?JQuery = 1'); –
Отлично! Просто отлично. – Tom