Lançamento de largura de tela usando o jQuery
-
21-09-2019 - |
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...
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.