Publicación de ancho de la pantalla usando jQuery
-
21-09-2019 - |
Pregunta
El uso de este código
var sw = window.screen.width;
$.post("http://www.example.com/track.php", {result: sw
}, "html");
y $ _SERVER [ 'consecuencia']; en el servidor que estoy tratando de obtener el ancho sreen pero no funciona. Es algo mal con el "número". Soy nuevo en Javascript y jQuery ...
Solución
$_SERVER
contiene variables de servidor, es decir, cosas como el sistema operativo, la URL de referencia, rutas de acceso a carpetas en el servidor.
Lo que usted está buscando en cambio es o bien la matriz $_POST
, la matriz $_GET
, o la matriz $_REQUEST
. Puede ser que sea una obviedad aquí, pero esto es lo que contienen:
-
$_POST
contiene una lista de todas las variables ha publicado en el guión. -
$_GET
contiene una lista de todas las variables en la cadena de consulta (por ejemplo:someScript.php?x=1&y=2
) -
$_REQUEST
contiene una combinación de$_POST
,$_GET
y$_COOKIE
(generalmente en ese orden). No recomiendo el uso de este:. Debiera saber los métodos que está utilizando para obtener variables en su secuencia de comandos y el uso de esa matriz específicamente
En su caso, es necesario echar un vistazo a la matriz $_POST
. Siempre es útil para ejecutar esta vez:
print_r($_POST);
Esto le mostrará todo lo publicado a esa página.
Otros consejos
La función jQuery $ .post envía una solicitud POST al servidor, lo que significa que para acceder al valor de "número", es necesario obtener de la superglobal $ _POST.
Trate $ _POST [ 'resultado'] en lugar de $ _SERVER [ 'resultado'].
Estas descripciones pueden ayudar (fuente: http://www.nusphere.com/php/ php_superglobals.htm):
- $ _POST - El $ _POST superglobal representa los datos enviados a la PHP la escritura a través de HTTP POST. Esto es normalmente un formulario con un método de POST.
- $ _ SERVER - El $ _SERVER superglobal representa los datos disponibles a un script PHP desde el servidor Web en sí (no lo que está buscando)
- $ _ REQUEST - El _REQUEST $ superglobal es una combinación de $ _GET, $ _POST, y $ _COOKIE (sería trabajo, pero ¿por qué GET búsqueda y COOKIE cuando se conoce el valor está en la POST?)
Trate de hacer:
echo $_POST['result'];
Uso $_REQUEST['result']
$_SERVER
es una matriz que contiene información tal como encabezados, caminos y ubicaciones de scripts. Las entradas de esta matriz son creados por el servidor web. No hay garantía de que cada servidor web proporcionará todas estas cosas; servidores pueden omitir algunos, o proporcionar otros no enumerados aquí.
$_REQUEST
es un arreglo asociativo que por defecto contiene el contenido de$_GET
,$_POST
y$_COOKIE
.
La forma correcta es utilizar $_POST['result']
, según lo sugerido por otros aquí.