Domanda

Con questo codice

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

e $ _SERVER [ 'risultato']; nel server che sto cercando di ottenere la larghezza sreen ma non funziona. E 'qualcosa che non va con il "risultato". Sono nuovo in Javascript e jQuery ...

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

È stato utile?

Soluzione

$_SERVER contiene le variabili del server, vale a dire le cose come il sistema operativo, l'URL di riferimento, percorsi alle varie cartelle sul server.

Quello che state cercando è invece sia la matrice $_POST, la matrice $_GET, o la matrice $_REQUEST. Potrei essere affermando l'ovvio qui, ma ecco cosa contengono:

  • $_POST contiene un elenco di tutte le variabili inviato alle script.
  • $_GET contiene un elenco di tutte le variabili nella stringa di query (ad esempio: someScript.php?x=1&y=2)
  • $_REQUEST contiene una fusione di $_POST, $_GET e $_COOKIE (di solito in questo ordine). Non consiglio di utilizzare questo:. Si dovrebbe so i metodi che si sta utilizzando per ottenere variabili nello script e utilizzare tale matrice specificamente

Nel tuo caso, è necessario dare un'occhiata a matrice $_POST. E 'sempre a portata di mano per eseguire una volta:

print_r($_POST);

Questo vi mostrerà tutto quello pubblicato a quella pagina.

Altri suggerimenti

La funzione .post jQuery $ invia una richiesta POST al server, il che significa che per accedere al valore di "risultato", è necessario ottenere dal $ _POST superglobale.

Prova $ _POST [ 'risultato'] invece di $ _SERVER [ 'risultato'].

Queste descrizioni possono aiutare (fonte: http://www.nusphere.com/php/ php_superglobals.htm ):

  • $ _ POST - Il $ _POST superglobale rappresenta i dati inviati al PHP lo script tramite HTTP POST. Questo è normalmente un modulo con un metodo di POST.
  • $ _ SERVER - Il $ _SERVER superglobale rappresenta i dati disponibili ad uno script PHP dal server Web stessa (non quello che stai cercando)
  • $ _ RICHIESTA - Il $ _REQUEST superglobale è una combinazione di $ _GET, $ _POST e $ _COOKIE (sarebbe lavoro, ma perché cerca GET e COOKIE quando si conosce il valore è in post?)

Prova a fare:

echo $_POST['result'];

Usa $_REQUEST['result']

  

$_SERVER è un array contenente informazioni quali intestazioni, percorsi e posizioni di script. Le voci in questo array vengono creati dal server web. Non c'è alcuna garanzia che ogni web server fornisce uno di questi; server possono omettere alcuni, o fornire altri non elencati qui.

     

$_REQUEST è un array associativo che di default contiene il contenuto di $_GET, $_POST e $_COOKIE.

Il modo corretto è quello di utilizzare $_POST['result'], come suggerito da altri qui.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top