Pergunta

Usando este código

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

e $_SERVER['resultado'];no servidor que eu estou tentando chegar a sreen largura, mas ele não funciona.É algo de errado com o "resultado".Eu sou novo em php e jQuery...

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

Foi útil?

Solução

$_SERVER contém variáveis de servidor, que é, coisas como o sistema operacional, o URL de referência, os caminhos para várias pastas no servidor.

O que você está procurando, em vez disso, é o $_POST matriz, a $_GET matriz, ou o $_REQUEST matriz.Eu poderia ser o óbvio aqui, mas aqui está o que eles contêm:

  • $_POST contém uma lista de todas as variáveis Postadas para o script.
  • $_GET contém uma lista de todas as variáveis na seqüência de caracteres de consulta (por exemplo: someScript.php?x=1&y=2)
  • $_REQUEST contém uma série de $_POST, $_GET e $_COOKIE (geralmente nessa ordem).Eu não recomendo usar esse:você deve sei os métodos que você está usando para obter as variáveis em seu script e usar essa matriz especificamente.

No seu caso, você precisa dar uma olhada no $_POST matriz.É sempre útil para executar este procedimento uma vez:

print_r($_POST);

Isto irá mostrar a você tudo publicado para essa página.

Outras dicas

A função JQuery $ .Post envia uma solicitação de postagem para o servidor, o que significa acessar o valor de "resultado", você precisa obtê -lo do Superglobal $ _Post.

Tente $ _post ['resultado'] em vez de $ _server ['resultado'].

Essas descrições podem ajudar (fonte: http://www.nusphere.com/php/php_superglobals.htm):

  • $ _Post- O Superglobal $ _Post representa dados enviados ao script PHP via postagem HTTP. Normalmente, este é um formulário com um método de postagem.
  • $ _Server- O Superglobal $ _Server representa dados disponíveis para um script PHP do próprio servidor da Web (não o que você está procurando)
  • $ _Request- O $ _Request Superglobal é uma combinação de $ _Get, $ _Post e $ _Cookie (funcionaria, mas por que a pesquisa obtenha e o cookie quando você sabe que o valor está no post?)

Tente fazer:

echo $_POST['result'];

Usar $_REQUEST['result']

$_SERVER é uma matriz que contém informações como cabeçalhos, caminhos e locais de script. As entradas nesta matriz são criadas pelo servidor da web. Não há garantia de que todos os servidores da Web forneçam qualquer um deles; Os servidores podem omitir alguns ou fornecer outros não listados aqui.

$_REQUEST é uma matriz associativa que, por padrão, contém o conteúdo de $_GET, $_POST e $_COOKIE.

A maneira correta é usar $_POST['result'], como sugerido por outros aqui.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top