jQueryを使用して画面幅を投稿する
-
21-09-2019 - |
質問
このコードを使用する
var sw = window.screen.width;
$.post("http://www.example.com/track.php", {result: sw
}, "html");
および $_SERVER['結果'];サーバーで画面の幅を取得しようとしていますが、機能しません。それは「結果」に何か問題があるのです。私は Javascript と jQuery の初心者です...
解決
$_SERVER
サーバー変数、つまり、オペレーティング システム、リファラー URL、サーバー上のさまざまなフォルダーへのパスなどが含まれます。
代わりに探しているのは、 $_POST
配列、 $_GET
配列、または $_REQUEST
配列。ここで当たり前のことを述べているかもしれませんが、その内容は次のとおりです。
$_POST
スクリプトに POST されたすべての変数のリストが含まれます。$_GET
クエリ文字列内のすべての変数のリストが含まれます (例:someScript.php?x=1&y=2
)$_REQUEST
のマージが含まれています$_POST
,$_GET
そして$_COOKIE
(通常はこの順序で)。これを使用することはお勧めしません:あなたがすべき 知る スクリプトに変数を取得し、その配列を具体的に使用するために使用しているメソッド。
あなたの場合、以下を確認する必要があります。 $_POST
配列。これを一度実行すると常に便利です。
print_r($_POST);
これにより、そのページに投稿されたすべてが表示されます。
他のヒント
jQuery $.post 関数は、サーバーに post リクエストを送信します。これは、「result」の値にアクセスするには、$_POST スーパーグローバルから取得する必要があることを意味します。
$_SERVER['result'] の代わりに $_POST['result'] を試してください。
これらの説明が役に立つかもしれません (出典: http://www.nusphere.com/php/php_superglobals.htm):
- $_POST- スーパーグローバル $_POST は、PHP に送信されるデータを表します。 スクリプトをHTTP POSTで送信する。これは のメソッドを持つフォームである。 ポスト。
- $_サーバー- スーパーグローバル$_SERVERは、利用可能なデータを表します。 ウェブ・サーバーからPHPスクリプトへ そのもの(探しているものではない)
- $_REQUEST- REQUESTスーパーグローバルは、以下の組み合わせである。 GET、$_POST、$_COOKIE(これは しかし、なぜGETとCOOKIEを検索するのか? 値がPOSTであることが分かっている場合)
やってみます:
echo $_POST['result'];
所属していません StackOverflow