Публикация ширины экрана с помощью jQuery
-
21-09-2019 - |
Вопрос
Использование этого кода
var sw = window.screen.width;
$.post("http://www.example.com/track.php", {result: sw
}, "html");
и $_SERVER['результат'];на сервере я пытаюсь получить ширину экрана, но это не работает.Что-то не так с «результатом».Я новичок в Javascript и jQuery...
Решение
$_SERVER
Содержит переменные сервера, то есть такие вещи, как операционная система, URL -адрес реферера, пути к различным папкам на сервере.
Вместо этого вы ищете $_POST
массив, $_GET
массив или $_REQUEST
множество. Я мог бы указать очевидное здесь, но вот что они содержат:
$_POST
Содержит список всех переменных, размещенных в сценарии.$_GET
Содержит список всех переменных в строке запроса (например:someScript.php?x=1&y=2
)$_REQUEST
содержит слияние$_POST
,$_GET
а также$_COOKIE
(обычно в таком порядке). Я не рекомендую использовать это: вы должны знать Методы, которые вы используете, чтобы получить переменные в свой скрипт и конкретно использовать этот массив.
В вашем случае вам нужно взглянуть на $_POST
множество. Всегда удобно запустить это один раз:
print_r($_POST);
Это покажет вам все, что опубликовано на этой странице.
Другие советы
Функция jQuery $ .post отправляет запрос POST на сервер, что означает доступ к значению «результата», вам необходимо получить его из суперглобала $ _post.
Попробуйте $ _post ['result'] вместо $ _server ['result'].
Эти описания могут помочь (источник: http://www.nusphere.com/php/php_superglobals.htm):
- $ _Post- Superglobal $ _post представляет данные, отправляемые в сценарий PHP через HTTP Post. Обычно это форма с методом поста.
- $ _Server- Суперглобаль $ _server представляет данные, доступные для сценария PHP с самого веб -сервера (не то, что вы ищете)
- $ _Request- Superglobal $ _request - это комбинация $ _get, $ _post и $ _cookie (будет работать, но зачем поиск и cookie, когда вы знаете, что значение находится в посте?)
Попробуйте сделать:
echo $_POST['result'];
Использовать $_REQUEST['result']
$_SERVER
— это массив, содержащий такую информацию, как заголовки, пути и расположение скриптов.Записи в этом массиве создаются веб-сервером.Нет никакой гарантии, что каждый веб-сервер предоставит что-либо из этого;серверы могут опускать некоторые из них или предоставлять другие, не перечисленные здесь.
$_REQUEST
представляет собой ассоциативный массив, который по умолчанию содержит содержимое$_GET
,$_POST
и$_COOKIE
.
Правильный способ — использовать $_POST['result']
, как предлагают другие здесь.