在我的应用程序中,我有一个AJAX调用,它在用户重新加载页面之前发布用户的时区(到同一个页面)(查看他们是否切换了时区)。不幸的是,我无法访问post变量。
$(window).on('beforeunload', function() {
    $.ajax({
        type: "POST",
        url: "ToDoApp.php",
        data: {
            timezone: userTimeZone
        },
        dataType: 'text'
    });
});我很确定这是因为我在AJAX调用期间重新加载了一次,然后页面实际上重新加载了一次。然而,我已经绕了一个小时,似乎解决不了我的问题。
如何在页面重新加载后获得时区变量?
如果有更好的方法来彻底解决这个问题,我愿意接受建议。
更多信息:
我需要服务器端的时区变量来执行时区转换,因此我进行了AJAX调用。以下是我的意见:
因此,这里的困境是:我认识到时区是更好的计算客户端,我正在使用Moment.JS,但我需要时区变量来做服务器-side时区转换,以正确地显示日期给用户。这就是我认为我需要一个AJAX调用的原因,因为没有它,页面重新加载之后,我的时区将只能在客户端可用,并且我将无法执行计算。
发布于 2016-09-21 04:03:47
$(window).on('beforeunload', function() {
    if (typeof(Storage) !== "undefined") {
      localStorage.setItem("timeZone",new Date().getTimezoneOffset());
    } else {
      // Sorry! No Web Storage support..
    }
    $.ajax({
        type: "POST",
        url: "ToDoApp.php",
        data: {
            // new Date().getTimezoneOffset() gives clients timezone
            timezone: localStorage.getItem("timeZone")
        },
        dataType: 'text'
    });
});欲了解更多信息:时区w3school
https://stackoverflow.com/questions/39606962
复制相似问题