使用JavaScript在网页之间共享数据

使用JavaScript在网页之间共享数据,javascript,jquery,node.js,express,Javascript,Jquery,Node.js,Express,我正在使用Node.js、express、Socket.IO和MongoDB开发GPS/地图应用程序。 tracker页面使用HTML5地理位置和Socket.IO将coords发送到服务器并存储到MongoDB中。 我现在正在创建用户页面,以便用户可以查看以前记录的数据。我目前缺少一个登录页面,所以index.html只填充一个用户名列表,我可以选择一个 我的问题是,我不确定如何最好地将所选用户的用户名等数据传递到下一页。我一直在努力避免仅仅为了传递一个用户名而打开到服务器的套接字连接,但是如

我正在使用Node.js、express、Socket.IO和MongoDB开发GPS/地图应用程序。 tracker页面使用HTML5地理位置和Socket.IO将coords发送到服务器并存储到MongoDB中。 我现在正在创建用户页面,以便用户可以查看以前记录的数据。我目前缺少一个登录页面,所以index.html只填充一个用户名列表,我可以选择一个

我的问题是,我不确定如何最好地将所选用户的用户名等数据传递到下一页。我一直在努力避免仅仅为了传递一个用户名而打开到服务器的套接字连接,但是如果这是最好的方法,那么就没有问题了。我也知道本地存储是一种选择。 以下是一些代码片段,让您了解我的工作内容:

index.html:

<html>
<head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script>
        $(document).ready(function() {
            $.ajax({
              dataType: "json",
              url: "/getusers"
            }).done(function(data) {
                console.log("--->", data);
                for(var i=1; i<data.length; i++) {
                    $('#list').append("<li><a href=http://localhost:3000/mapPage.html>" + data[i].name + "</a></li>");
                }
                $("a").click(function(e) {
                    alert("--->", $(this).html());
                    //alert("--->", $(e).html());
                    //alert("--->", $(e).getVal());
                    //window.localStorage.setItem("username", )
                });
            });
        });
    </script>
</head>
<body>
    <ul id='list'>
    </ul>
</body>
</html>

$(文档).ready(函数(){
$.ajax({
数据类型:“json”,
url:“/getusers”
}).完成(功能(数据){
console.log(“-->”,数据);

对于(var i=1;i如果必须在页面之间传递这样的数据,我想到的最简单的方法就是将其作为查询字符串传递

http://localhost:3000/userPage.html?username=jim&user=jdawg149
然后,您可以在目标页面上将这些内容读入变量中

您可以使用
窗口中的一些简单方法来获取和设置查询字符串,如下所述:

通过使用带有RegEx的函数来解析URL,您还可以使用它变得更复杂一些,如下所示:


请记住,您应该将URL限制在2000个字符以内。

如果必须在页面之间传递这样的数据,我想到的最简单的方法就是将其作为查询字符串传递

http://localhost:3000/userPage.html?username=jim&user=jdawg149
然后,您可以在目标页面上将这些内容读入变量中

您可以使用
窗口中的一些简单方法来获取和设置查询字符串,如下所述:

通过使用带有RegEx的函数来解析URL,您还可以使用它变得更复杂一些,如下所示:



请记住,您应该将URL限制在2000个字符以内。

这正是sessionStorage的设计目的——将数据从一个页面传递到另一个页面。localStorage也可以用于此目的,但它更适合在会话之间持久化某些数据。

这正是sessionStorage的设计目的——从一个页面传递数据一个页面到另一个页面。LoalStage也可以用于这个,但是更多的是会话间的一些数据持久性。

你应该考虑单页的JS应用程序。它会增加你的开发的复杂性,但是它会极大地提高你的应用程序。我会看一看,谢谢。找到一个例子来说明如何写快捷的路线,特别是一个安全的登录页面/系统。我所遇到的几个问题只是通过正确使用Express来解决的。你应该考虑单页的JS应用程序。它会增加你的开发的复杂性,但它会急剧地增加I。改进你的应用程序。研究Angular或Backbone之类的东西。我甚至没有想到,我会看一看,谢谢。找到了一个例子,展示了编写快速路线的正确方法,特别是安全登录页面/系统。我遇到的几个问题都是通过正确使用快速解决的。这是我的第一个想法,但后来在谷歌搜索中,我发现了一些类似于“你不应该用jquery做这件事!”的回答,所以我转向了其他方向。你能解释一下怎么做吗?这里有不同的查询。“查询字符串”是上面
后面的文本。它通常用于搜索和表单提交。“jquery”是一个Javascript库,你可以使用它,也可以不使用它,不管是仇恨者还是粉丝。@JakeSellers更新了。其他人在技术上是正确的。“正确”的方法是编写一个单页JS应用程序,与你的后端集成,正如我在文章的初始评论中提到的。但是,如果你必须这样做,这种方法d会有用的。@Sneagan我必须同意。我非常感谢这篇文章和链接,但我想现在是学习angular或backbone并正确操作的好时机。@Sneagan PS.你推荐一个而不是另一个吗?这是我的第一个想法,但在谷歌搜索之后,我发现了一些类似于“你不应该用jquery做这件事!”所以我转向了其他方向。你能解释一下怎么做吗?这里有不同的查询。“查询字符串”是上面
后面的文本。它通常用于搜索和表单提交。“jQuery”是一个Javascript库,你可以使用它,也可以不使用它,不管是仇恨者还是粉丝。@JakeSellers更新了。其他人在技术上是正确的。“正确”的方法是编写一个单页JS应用程序,与你的后端集成,正如我在文章的初始评论中提到的。但是,如果你必须这样做,这种方法d会有用的。@Sneagan我必须同意。我非常感谢这篇文章和链接,但我想现在是学习angular或backbone并正确操作的好时机。@Sneagan PS。你推荐一个而不是另一个吗?如果数据只由该用户使用,不需要存储在服务器上,那么本地存储或会话存储就很好了。直到用户切换浏览器…;-)是的,经过一些修补和谷歌搜索后,我认为会话存储是一个不错的选择。如果你打算直接写入会话存储,请记住:如果数据只由该用户使用,不需要存储在服务器上,那么本地存储或会话存储就很好。直到用户切换浏览器…;-)是的,经过一些修补和谷歌搜索,我认为会话存储是一个不错的选择。如果要直接写入会话存储,请记住: