Frage

Verwenden Sie diesen Code

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

und $ _server ['Ergebnis']; Auf dem Server versuche ich, die Sreen -Breite zu erhalten, aber es funktioniert nicht. Es ist etwas nicht mit dem "Ergebnis" nicht. Ich bin neu in JavaScript und JQuery ...

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

War es hilfreich?

Lösung

$_SERVER Enthält Servervariablen, dh Dinge wie das Betriebssystem, die Referrer -URL, Pfade zu verschiedenen Ordnern auf dem Server.

Was Sie stattdessen suchen, ist entweder die $_POST Array, die $_GET Array oder die $_REQUEST Array. Ich mag das Offensichtliche hier sagen, aber hier ist, was sie enthalten:

  • $_POST Enthält eine Liste aller Variablen, die im Skript veröffentlicht wurden.
  • $_GET Enthält eine Liste aller Variablen in der Abfragezeichenfolge (zB: someScript.php?x=1&y=2)
  • $_REQUEST enthält eine Zusammenführung von $_POST, $_GET und $_COOKIE (normalerweise in dieser Reihenfolge). Ich empfehle nicht, dies zu verwenden: Sie sollten sollten kennt Die Methoden, mit denen Sie Variablen in Ihr Skript einbeziehen und dieses Array speziell verwenden.

In Ihrem Fall müssen Sie sich das ansehen $_POST Array. Es ist immer praktisch, dies einmal zu laufen:

print_r($_POST);

Dies zeigt Ihnen alles, was auf dieser Seite gepostet wird.

Andere Tipps

Die JQuery $ .post -Funktion sendet eine Postanforderung an den Server, was bedeutet, auf den Wert von "Ergebnis" zugreifen zu können. Sie müssen sie vom Superglobal $ _post erhalten.

Versuchen Sie $ _post ['Ergebnis'] anstelle von $ _server ['Ergebnis'].

Diese Beschreibungen können helfen (Quelle: http://www.nusphere.com/php/php_superglobals.htm):

  • $ _Post- Das $ _Post Superglobal repräsentiert Daten, die über HTTP -Post an das PHP -Skript gesendet werden. Dies ist normalerweise eine Form mit einer Postmethode.
  • $ _Server- Der $ _server superglobal repräsentiert Daten, die einem PHP -Skript vom Webserver selbst verfügbar sind (nicht das, wonach Sie suchen)
  • $ _Request- Der $ _Request Superglobal ist eine Kombination aus $ _get, $ _post und $ _cookie (würde funktionieren, aber warum suchen und Cookie suchen, wenn Sie wissen, dass der Wert in Post ist?)

Versuchen Sie:

echo $_POST['result'];

Verwenden $_REQUEST['result']

$_SERVER ist ein Array, das Informationen wie Header, Pfade und Skriptorte enthält. Die Einträge in diesem Array werden vom Webserver erstellt. Es gibt keine Garantie dafür, dass jeder Webserver eines davon bereitstellt. Server können einige weglassen oder anderen, die hier nicht aufgeführt sind, nicht bereitstellen.

$_REQUEST ist ein assoziatives Array, das standardmäßig den Inhalt von enthält $_GET, $_POST und $_COOKIE.

Der richtige Weg ist zu verwenden $_POST['result'], wie von anderen hier vorgeschlagen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top