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 ...

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

¿Fue útil?

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í.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top