【问题标题】:Getting previous page URL instead of current page获取上一页 URL 而不是当前页
【发布时间】:2014-11-13 00:02:38
【问题描述】:

我正在尝试获取当前页面的 URL 和参数,但 JavaScript 和 jQuery 正在返回上一页的 URL。

我目前正在使用:

$(document).ready(function() {

            function getUrlParameter(sParam){
                var sPageURL = window.location.search.substring(1);
                var sURLVariables = sPageURL.split('&');
                    for (var i = 0; i < sURLVariables.length; i++) {
                        var sParameterName = sURLVariables[i].split('=');
                        if (sParameterName[0] == sParam) {
                            return sParameterName[1];
                        }
                    }
            } 

            var charid = getUrlParameter('id');
            var charname = getUrlParameter('name');
            console.log(charid);
            console.log(charname);
    });

有时如果我重新加载/刷新页面,它会给我当前/正确的 URL。

编辑:我用这段代码设置了上一页的链接

$.getJSON(ip + 'list_query.php', function(data) {
        // data now contains array
        for(var i = 0; i < data.length; i++)
        {
            var fl = data[i]['superhero_name'].slice(0,1);
            $("#" + fl).append("<a href='" + ip + "biography.html?id=" + data[i]['id'] + "&name=" + data[i]['superhero_name'] + "'>" + data[i]['superhero_name'] + "</a");
        }
        });

【问题讨论】:

  • 您能否更具体地说明如何重现该问题?
  • @Ludovic 在前一页上有一个超链接,前一页的 href 由 for 循环生成并由 jQuery 作为属性插入。当我单击链接时,我被带到了此处列出的代码的页面,但由于某种原因它从上一页获取了 href。
  • 好的,我明白了,我正在尝试通过两个相互链接的页面重现您的问题,您能否发布更多代码来显示您如何设置 URL?
  • @Ludovic 我添加了一些代码
  • 我认为问题不在于您的上一页。您的 JQuery 代码之前的当前页面上有什么?

标签: javascript jquery html url get


【解决方案1】:

您是在寻找current page URL,还是previous page URL,或者,是否涉及条件?

对于current page URL,请尝试:

console.log(window.location.href);

不幸的是,您无法嗅探访问者的历史记录,但如果您想在浏览您的域时跟踪他们的历史记录,只需在 LocalStorage 中设置他们的当前页面(又名:“window.location.href”)并命名键非常容易相应地并因此创建一个列表/索引 - 甚至将其保存在 cookie 中。后者您可以直接在 PHP 中使用;而前者(LocalStorage)可以通过 XMLHTTpRequest 发送到服务器。

如果您由于 javascript 框架或插件而遇到此问题,请尝试暂时禁用它们并测试以查看是否得到相同的结果,以便追踪问题的根源。

更新

关于 Javascript 框架,GitHub 上的以下线程可能对以下内容有用: window.location issues

【讨论】:

  • 我正在寻找当前的 URL,但控制台出于某种原因正在输出以前的页面 URL。
【解决方案2】:

使用 vanilla JS 获取当前页面的 URL 非常简单。这样做:

alert(document.location.href);

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2021-12-29
    • 1970-01-01
    • 2011-06-17
    • 1970-01-01
    • 2012-08-26
    • 1970-01-01
    • 2016-02-25
    • 1970-01-01
    • 2021-07-23
    相关资源
    最近更新 更多