Как получить текущий URL при использовании XMLHttpRequest - PullRequest
0 голосов
/ 25 февраля 2012

У меня есть следующий код для вызова count_visit.php на событие onbeforeunload.Это прекрасно работает.Тем не менее, когда я использую $ _SERVER ['REQUEST_URI'], результатом будет count_visit.php, а не реальный URL.при использовании кода выше?Или мне нужно изменить код выше?

Ответы [ 2 ]

1 голос
/ 25 февраля 2012

Я подозреваю, что вам нужен URI страницы, содержащей AJAX, а не сам вызов AJAX, но count_visit.php является правильным $ SERVER ['REQUEST_URI'], поскольку это URI, который был вызван вашим AJAX-скриптом.

Чтобы получить URI страницы, вам нужно взять window.location.href, экранировать его и отправить в качестве параметра при вызове AJAX, что-то вроде

x.open("GET", "count_visit.php?t=" + (((new Date()).getTime() - startime) / 1000)+"&url="+escape(window.location.href), false);

В PHP вы должны записатьвизит для $_GET['url']

0 голосов
/ 25 февраля 2012

Если вы хотите получить полный URI, вы можете пойти двумя путями: Во-первых, поскольку это не междоменная связь, вы можете объединить две серверные переменные

$_SERVER['HTTP_HOST'] .  $_SERVER['REQUEST_URI'] 

Во-вторых, вы можете изменить приведенный выше код и отправить URI всей страницы на сервер в качестве дополнительной переменной запроса GET.

...