Вопрос

Использование этого кода

var sw = window.screen.width;
$.post("http://www.example.com/track.php", {result: sw
}, "html");

и $_SERVER['результат'];на сервере я пытаюсь получить ширину экрана, но это не работает.Что-то не так с «результатом».Я новичок в Javascript и jQuery...

http://api.jquery.com/jQuery.post/

Это было полезно?

Решение

$_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'], как предлагают другие здесь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top