微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在不使用$_GET的情况下将javascript变量传递给PHP?

因此我试图通过javascript设置PHP时区,因此用户自动将时间设置为他们的timezome.现在我在网上找到了这个代码,但遗憾的是它通过GET值传输了javascript的确定值.有没有办法可以使用它,但不要求在URL中包含GET值?因为.htaccess ReWriterules如何设置,这恰好打破了我的网站.

这是时区的代码.我需要的是一种方法来将确定的偏移值从javascript传输到PHP而不使用url中的GET.这可能吗?

<?PHP
session_start();
if(!isset($_SESSION['timezone']))
{
    if(!isset($_REQUEST['offset']))
    {
    ?>
    <script>
    var d = new Date()
    var offset= -d.getTimezoneOffset()/60;
    location.href = "<?PHP echo $_SERVER['PHP_SELF']; ?>?offset="+offset;
    </script>
    <?PHP    
    }
    else
    {
        $zonelist = array('Kwajalein' => -12.00, 'Pacific/Midway' => -11.00, 'Pacific/Honolulu' => -10.00, 'America/Anchorage' => -9.00, 'America/Los_Angeles' => -8.00, 'America/Denver' => -7.00, 'America/Tegucigalpa' => -6.00, 'America/New_York' => -5.00, 'America/Caracas' => -4.30, 'America/Halifax' => -4.00, 'America/St_Johns' => -3.30, 'America/Argentina/Buenos_Aires' => -3.00, 'America/Sao_Paulo' => -3.00, 'Atlantic/South_Georgia' => -2.00, 'Atlantic/Azores' => -1.00, 'Europe/dublin' => 0, 'Europe/Belgrade' => 1.00, 'Europe/Minsk' => 2.00, 'Asia/Kuwait' => 3.00, 'Asia/Tehran' => 3.30, 'Asia/Muscat' => 4.00, 'Asia/Yekaterinburg' => 5.00, 'Asia/Kolkata' => 5.30, 'Asia/Katmandu' => 5.45, 'Asia/Dhaka' => 6.00, 'Asia/Rangoon' => 6.30, 'Asia/Krasnoyarsk' => 7.00, 'Asia/Brunei' => 8.00, 'Asia/SEOul' => 9.00, 'Australia/Darwin' => 9.30, 'Australia/Canberra' => 10.00, 'Asia/Magadan' => 11.00, 'Pacific/Fiji' => 12.00,  'Pacific/Tongatapu' => 13.00);
        $index = array_keys($zonelist, $_GET['offset']);
        $_SESSION['timezone'] = $index[0];
    }
}
date_default_timezone_set($_SESSION['timezone']);

我被告知这可能与JSON有关,但在线阅读后我无法理解正确使用这个的符号.

解决方法:

如果您不想使用GET请求,则可以考虑使用POST请求.您可以使用JavaScript中的Ajax请求发送数据.使用jQuery,这看起来像:

$.ajax({
   'url': 'PATH_TO_PHP_SCRIPT',
   'type': 'POST',
   'data': 'timezone=' + timezoneVariable
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐