【问题标题】:Carrying an array to new page将数组携带到新页面
【发布时间】:2012-01-27 19:12:11
【问题描述】:

我想知道如何使用 JavaScript 将变量从一个页面传递到另一个页面

这是我的代码:

var currentBasketPrice = 0;

var quotes = new Array(
"A good painting to me has always been like a friend. It keeps me company, comforts and        inspires.",
"A man paints with his brains and not with his hands.",
"A picture is a poem without words.",
"A work of art is the unique result of a unique temperament.",
"An artist cannot fail; it is a success to be one.");
var quotePerson = new Array(
"Hedy Lamarr",
"Michaelangelo",
"Horace",
"Oscar Wilde",
"Charles Horton Cooley");

var imgSrc = new Array ("images/hangings/1.jpg","images/hangings/2.jpg");
var prices = new Array (100,50);
var sizes = new Array ("450*350","100*50");

var inBasketPrices = [];
var inBasketNames = [];

function load(displayQuotes, displayBasket, displayProductInfo)
{
if (displayQuotes==true)//quotes
{
    var quotenum = Math.floor(Math.random()*5 );
    document.getElementById('quote').innerHTML= quotes[quotenum];
    document.getElementById('quoteperson').innerHTML=" - " + quotePerson[quotenum];
}

if(displayBasket==true)
{
    var list = $('#basketsidebar ul');
        list.append('<button type="button">Checkout</button>');
}
if(displayProductInfo==true)
{
    for (var i = 0; i < prices.length; i++)
    {
        var list = $('#products ul');

        list.append('<li><img src="'+imgSrc[i]+'" width="525px" height="350px"/></li>');
        list.append('<li>Price: £' + prices[i] +'</li>');
        list.append('<li>Size: ' + sizes[i] +'</li>');
        list.append('<button type="button" onclick="addToBasket(' + i + ')">Add To Basket</button>');
    }
}
}

function addToBasket(itemAdded)
{
inBasketPrices.push(prices[itemAdded]);
var list = $('#basketsidebar ul');
    list.append('<li>Price: £' + inBasketPrices[itemAdded] +'</li>');
}

我想让它在单击结帐按钮时将用户定向到新页面,并且当前在购物篮中的项目被结转。目前只有商品的价格会被添加到购物篮中。

我不知道如何做到这一点,所以如果有人可以提供帮助,将不胜感激。

【问题讨论】:

  • 你为什么不缩进你的函数?
  • @LightnessRacesinOrbit 他做到了,只是他将 8 列制表符与空格混合在一起,并缩进 4 列。 (呃)
  • 我有,粘贴到这里时有些格式丢失了

标签: javascript html cookies


【解决方案1】:

Javascript 是一种由您的浏览器在定义的页面上执行的语言。 页面之间的关系由 HTTP 协议处理,因此从一个页面传播数据到另一个页面应该使用该协议完成。

HTTP 允许您以三种方式共享数据:

  1. 获取
  2. 发布
  3. Cookie

GET 格式的数据很容易用 Javascript 编写,您只需将 ?var1=value&amp;var2=value2 附加到您的 URL。您可以通过使用服务器端编程语言或通过分析 URL 来检索数据(请参阅here)。 POST 对您的应用程序来说可能有点棘手,但仍然可以完成。 Cookie 也可以是一种选择,但有点不同。 Cookies 被保存在客户端计算机上,而不是像 GET/POST 一样跟随 HTTP 请求。您可以通过 Javascript 操作 cookie,如 this tutorial 所示。

【讨论】:

    【解决方案2】:

    欢迎来到 StackOverflow!

    要将信息从一个页面移动到另一个页面,有一些技巧:

    1. 通过服务器发送数据。当按下“添加到购物车”或“结帐”按钮时,通过 POST 或 GET 变量发送。也就是说,当按下按钮时,将购物车中的信息作为附加变量发送。然后,当“结帐”页面收到请求时,它会在变量中查找信息,以便在将“结帐”页面发送回浏览器时使用。

    2. 使用 Javascript 将购物车内容存储在 cookie 中。然后 cookie 作为结帐请求的一部分发送到服务器。有用于更改 cookie 的 JS 库。例如Herehere

    3. 每当有东西被添加到购物车时,使用 Javascript 和 Ajax 通知服务器。使用 cookie 存储用户及其购物车的 session_id。结帐页面从会话 id 查找购物车

    关于服务器端软件的书籍讨论购物车是很常见的,因为购物车是人们的常见问题。您使用的是什么服务器端软件?

    另外在布尔表达式(例如 if 语句)中,无需将变量与“true”进行比较。换句话说:

    if (displayQuotes==true) 
    // is the exact same as
    if (displayQuotes)
    

    【讨论】:

    • 我没有使用任何服务器端软件,我的朋友只是想让我为他建立一个快速的网站来销售壁挂,我想我可以学习网络开发,所以我来了。
    • 对于服务器端软件你有什么推荐的书吗?
    • 如果你想卖东西来赚钱,那么项目立刻变得更加复杂。如果您还需要为您的朋友创建一个生产系统,这可能不是最好的学习方法——安全地使用信用卡、客户数据库、SKU、订单等;一个带有照片的有吸引力的网站,并跟踪“废弃的购物车”(用于营销分析)等。建议使用 shopify、Yahoo、Amazon、Ebay 或其他公司的现成解决方案。重新服务器端 sw:php 和 Ruby on Rails 是两种流行的解决方案。查找书评和书籍内容以查看哪些讨论购物车。很多人都这样做。
    【解决方案3】:

    我不确定您是否可以使用 javascript 来做到这一点。 尝试使用 PHP,尤其是 $_SESSION

    【讨论】:

      猜你喜欢
      • 2021-10-10
      • 1970-01-01
      • 2022-12-13
      • 1970-01-01
      • 1970-01-01
      • 2014-04-22
      • 2021-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多