Javascript 跨不同页面显示JS变量

Javascript 跨不同页面显示JS变量,javascript,html,Javascript,Html,这是一个很难回答的问题,因为我不知道该怎么说。我正在使用HTML5和JS制作一个购物车网站,我已经下载了大部分内容,但在一个重要方面需要帮助 目前,我的“立即购买”按钮位于链接到1个页面的标签中,用户可以在其中输入信息并进行购买,该页面称为“结帐”。我希望这个“结帐”页面显示他想要购买的物品的价格 例如,用户点击一本价值10美元的书,然后点击“立即购买”按钮。此按钮会将他发送到确认页面,其中会显示填写表单,但该页面不会显示他正在购买的商品的价格 这就是我的问题所在。除了为每个产品制作不同的页面(

这是一个很难回答的问题,因为我不知道该怎么说。我正在使用HTML5和JS制作一个购物车网站,我已经下载了大部分内容,但在一个重要方面需要帮助

目前,我的“立即购买”按钮位于链接到1个页面的标签中,用户可以在其中输入信息并进行购买,该页面称为“结帐”。我希望这个“结帐”页面显示他想要购买的物品的价格

例如,用户点击一本价值10美元的书,然后点击“立即购买”按钮。此按钮会将他发送到确认页面,其中会显示填写表单,但该页面不会显示他正在购买的商品的价格

这就是我的问题所在。除了为每个产品制作不同的页面(我只有9个产品),我想不出任何解决方案


此外,如果这不是显而易见的,我仍然是JS的初学者。如果您能帮助我了解如何在不创建9个单独页面的情况下在每个特定项目的“结帐”页面上显示价格,我将不胜感激。多谢各位

最好的方法是使用一些服务器端解决方案。客户机将表单发送到服务器,在服务器上对表单进行求值,并呈现相应的html页面

唯一的另一种方法是使用cookies或本地存储,但这相当难看

您肯定应该阅读一些关于php和mysql的教程,但我将简要介绍如何实现这一点

您可以在页面上提供如下表单:

<form method="post" action="your-serverside-phpscript-that-processes-your-form.php>
   How many Ipads you wanna buy:<input type="number" name="ipads">
   <button type="submit">
</form>

如果我理解正确,您会问如何在Javascript中存储可由多个页面检索的变量

实现这一点的标准方法是使用cookies。本机cookie库相当混乱,因此我建议使用cookie库

但是,由于您的问题被标记为
html5
,因此您可能愿意使用
sessionStorage
html5解决方案,这比cookies简单得多

sessionStorage.setItem("price", 100);
var price = sessionStorage.getItem("price");

由于您希望将这些数据全部保存在客户端,因此我鼓励您签出。在充分披露,我目前受雇于它背后的公司-但它是伟大的,免费的

保存数据很容易:

amplify.store( 'cart', { name: 'Book Title', price: 10.99 } );
要稍后访问此功能,您只需调用:

amplify.store( 'cart' );
这将返回您可以从中获取当前加载的所有产品的对象。Amplify将评估您的系统,确定哪种存储方法最好,并使用它。这将从你的盘中移除所有的猜测工作,让你做你想做的事情

请理解,虽然在客户端持久化数据很方便,但决不是安全的。在处理具有财务性质的交易和问题时,您应始终将数据置于消费者手中


通常,像这样的数据存储在服务器端、会话、数据库或两者的组合中。但是,如果您了解风险,并且您的模型允许这种类型的持久性,那么您可以将其用作解决方案。

您的数据库中没有这些书籍和价格?如果没有任何会话状态或服务器端代码,我想您可以将其存储在客户端的cookie中,然后在另一页检索,一旦你找回它,就把它销毁。但这也有其自身的缺点。如果你甚至不知道服务器上的价格,客户可以轻松地将cookie值设置为0而不支付任何费用;你真的需要从头开始重新思考这个问题。@Hawken这只是一个简单的项目。我不想做一个功能齐全的购物车网站。@Envious啊,对不起。尽管像SQL注入这样的荒谬行为现在仍然很普遍,但当你看到它时,你不能确定它是否“只是一个有趣的项目”。祝你好运!我以前从未使用过数据库,但是由于这个项目的一个需求是mySQL和PHP,我想这是实现这两个目标的最好方法。我现在得想办法解决这个问题。