Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Javascript在两个页面之间传递数据_Javascript_Php_Html_Asp.net_Query String - Fatal编程技术网

如何使用Javascript在两个页面之间传递数据

如何使用Javascript在两个页面之间传递数据,javascript,php,html,asp.net,query-string,Javascript,Php,Html,Asp.net,Query String,我已经看到了其他几个类似的问题,但没有一个是我真正想要的,所以希望这不会被视为重复 我有一个使用jQuery Mobile构建的客户端Javascript/HTML5 web应用程序。我发现性能可能非常慢,有人认为DOM中发生的事情太多可能是原因。我的应用程序确实有几个data role=“page”div,它们可能会在一个html页面中扩展DOM。我正试图将我的应用程序拆分为几个html页面以提高性能,但我希望用户体验无缝。这意味着我需要在我的应用程序中的物理html页面之间传递Javascr

我已经看到了其他几个类似的问题,但没有一个是我真正想要的,所以希望这不会被视为重复

我有一个使用jQuery Mobile构建的客户端Javascript/HTML5 web应用程序。我发现性能可能非常慢,有人认为DOM中发生的事情太多可能是原因。我的应用程序确实有几个
data role=“page”
div,它们可能会在一个html页面中扩展DOM。我正试图将我的应用程序拆分为几个html页面以提高性能,但我希望用户体验无缝。这意味着我需要在我的应用程序中的物理html页面之间传递Javascript变量

到目前为止,我在搜索中看到了以下选项:

  • 在指向其他页面的url中使用查询字符串。-我不确定我是否希望我的用户在地址栏中看到一个可能相当大且令人困惑的查询字符串
  • 使用ASP.Net或PHP等服务器端代码来处理回发数据。-我对此持开放态度,但我真的不确定它将如何工作。我不想将html页面转换为aspx或php文件。我可以有一个简单的服务器端脚本,可以将回发数据嵌入到常规html文件中吗
  • 使用Cookies存储相关数据。-我也不确定这一点,因为我的大多数用户都在可能限制cookie使用的企业环境中

  • 有没有其他方法来实现这一点?现在,我倾向于某种服务器端处理。如果这是最好的方法,有没有人能给我指出正确的方向来解决这个问题呢?

    尝试使用本地存储或会话存储

    如果用户看到冗长的查询字符串,你可以使用POST而不是GET。

    使用本地存储。localStorage允许您在浏览器中存储值。

    如果您符合HTML5,本地存储将是一种选择。它将存储值,减少对任何服务器的调用,直到您真正准备好更新所有信息,并且即使在浏览器关闭时,信息也会出现;像这样使用会话存储或JS

    window.onbeforeunload = function() {
      localStorage.removeItem(key);
      return '';
    };
    
    如果需要在关闭浏览器时清除本地存储的敏感信息

    请记住,传递到本地存储中的任何内容都将以字符串形式输出,因此当您从存储中获取信息时,需要将其转换为适当的数据类型

    您还将被限制存储5兆的数据(我相信这是标准的),但如果您的表单需要那么多信息,您可能会遇到其他问题。:)

    查看这些以了解更多信息


    jQuery移动性能问题主要是由于与之相关的大量样式。将样式表剥离到您需要的位置,并删除所有其他内容。。压缩图像。。使用多个html文件不是一个好的选择,因为它肯定会干扰用户体验部分。。下次不用jquerymobile,使用angular.js/backbone.js和bootstrap进行模板制作..我一直在使用dojo直到现在,我不得不说jquerymobile看起来已经不那么笨重了。。当你开始使用js框架时,你会意识到你一直在坐校车。它的速度如此之快,而且jquerymobile还远远不够……我的另一个页面将无法使用Javascript访问POST数据。我需要某种服务器端脚本来处理这个问题,然后如何将数据获取到html页面或Javascript?这是重点。我是一名后端开发人员,忘记了您只需要客户端,如果您可以的话。但您也可以使用服务器端代码来编写javascript或为javascript编写值。我会选择后者,因为它需要更少的服务器端代码来编写javascript块?我是否可以在HTML页面中插入一个简单的脚本标记来创建和分配全局变量?这取决于您使用的服务器端语言。在html上放置一个javascript块,并将服务器端代码写入javascript变量。下面的链接显示了php中的这种方法。本地存储会像企业环境中的cookie一样受到限制吗?实际上,我从来没有听说过这样的限制,所以我没有“布尔”答案。但我知道很多现代网站/应用程序都使用它们,不推荐w3schools.com作为参考。它充满了错误,请参见。