Posting -Bildschirmbreite mit JQuery veröffentlichen
-
21-09-2019 - |
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 ...
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.