将JSON数据从Javascript(在浏览器中)发送到PHP?

Send JSON data from Javascript (in the Browser) to PHP?

提问人:Pei Hao Chan 提问时间:11/18/2020 最后编辑:Pei Hao Chan 更新时间:11/18/2020 访问量:67

问:

目前正在编写一个应用程序,这需要我找出客户端浏览器的一些信息(例如 GetTimeZoneOffeset、屏幕宽度和高度、颜色深度,如果启用了 JS 和 Java)。

我需要此信息在 PHP 文件中显示为 JSON 数据。最好的方法是什么?

<?php
session_start();
if (isset($_POST['width'])) {
    $_SESSION['screen_size'] = array();
    $_SESSION['screen_size']['width'] = intval($_POST['width']);
    $_SESSION['screen_size']['height'] = intval($_POST['height']);
}


if (!isset($_SESSION['screen_size'])) {
?>
    <html>

    <head>
        <script>
            function getSize() {
                document.getElementById('inp_width').value = screen.width;
                document.getElementById('inp_height').value = screen.height;
                document.getElementById('form_size').submit();
            }
        </script>

        <!-- <script>
            function myFunction() {
                var d = new Date().getTimezoneOffset();
                document.getElementById("demo").innerHTML = d;    
            }
        </script> -->

    </head>

    <body onload='getSize()'>
        <form method='post' id='form_size'>
            <input type='hidden' name='width' id='inp_width' />
            <input type='hidden' name='height' id='inp_height' />
        </form>
    </body>

    </html>


<?php
} else {
    print_r($_SESSION['screen_size']);
}

// echo '<pre>' , var_dump($_SERVER) , '</pre>';
$lang = locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']);
$acceptHeader = $_SERVER['HTTP_ACCEPT'];
$userAgent = $_SERVER['HTTP_USER_AGENT'];
$shopperUrl = $_SERVER['SERVER_NAME'];

echo 'Browser Languge: ';
print_r($lang);
echo '' . PHP_EOL;
echo 'Accept Header: ';
print_r($acceptHeader);
echo '' . PHP_EOL;
echo 'User Agent: ';
print_r($userAgent);
echo '' . PHP_EOL;
echo 'Shopper Result Url ';
print_r($shopperUrl);
echo '' . PHP_EOL;

我目前有上面的代码,但我相信我走错了路。

JavaScript PHP JSON 时区 客户端

评论

0赞 El_Vanja 11/18/2020
您需要 AJAX 将值从客户端传递到服务器。这是我能用你分享的稀缺信息提供的最好的信息。您可能希望通过添加有关如何使用以及为什么使用此数据的一些信息来详细说明您的问题。
2赞 Ro Achterberg 11/18/2020
“最好的方式”将取决于许多你没有分享的东西。到目前为止,您尝试了什么,您在哪里卡住了?
0赞 Pei Hao Chan 11/18/2020
嗨,两位,对此深表歉意 - 总的来说,我对开发相对较新。我目前在帖子中有代码,但相信应该有一种更有效的方法来做我需要它做的事情。我可以使用 PHP 轻松检索一些数据,但我相信如果我使用 Javascript 和/或 jQuery 收集我需要的所有数据,它会给我一个更干净的代码,我似乎找不到一种方法来做到这一点。

答: 暂无答案