2012-01-27 7 views
0

Я хочу знать, как я могу передать переменную из одной страницы на другую, используя 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>'); 
} 

Я хочу сделать так, что, когда кнопка checkout щелкнула, что пользователь перенаправляется на новую страницу, а элементы, находящиеся в корзине, переносятся. На данный момент в корзину добавляются только цены на предметы.

Я понятия не имею, как это сделать, поэтому, если кто-то мог бы помочь, было бы весьма полезно.

+1

Почему вы не отступаете от своих функций? –

+0

@LightnessRacesinOrbit Он делает это, просто он смешивает 8-столбцовые вкладки с пробелами и отступы на 4 столбца. (urgh) – millimoose

+0

Я делаю, некоторое форматирование было потеряно, когда я вставил сюда – andy07070

ответ

1

Javascript - это язык, который выполняется вашим браузером на определенной странице. Связь между страницами обрабатывается протоколом HTTP и, таким образом, распространение данных с одной страницы должно выполняться с помощью этого протокола.

HTTP позволяет обмениваться данными тремя способами:

  1. GET
  2. POST
  3. Печенье

данных в формате GET легко написать в JavaScript, то у вас есть только добавить ?var1=value&var2=value2 на ваш URL. Вы можете извлекать данные либо с использованием языка программирования на стороне сервера, либо путем анализа URL-адреса (см. here).POST может быть немного сложнее для вашего приложения, но все равно можно сделать. Cookies также могут быть опцией, но немного отличаются. Вместо того, чтобы следовать запросу HTTP как GET/POST, Cookies хранятся на клиентском компьютере. Вы можете манипулировать кукисами через Javascript, как показано в this tutorial.

0

Я не уверен, что вы можете сделать это с помощью javascript. Попробуйте использовать PHP, $ _SESSION, в частности

1

Добро пожаловать в StackOverflow!

Чтобы переместить данные с одной страницы на другую, есть некоторые методы:

  1. Отправить данные через сервер. Пересылайте по переменным POST или GET при нажатии кнопки «Добавить в корзину» или «Оформить заказ». То есть, когда кнопка нажата, отправьте информацию о том, что находится в корзине, в качестве дополнительных переменных. Затем, когда страница «checkout» получает запрос, она ищет информацию в переменных, которая используется при отправке страницы «checkout» обратно в браузер.

  2. Javascript для сохранения содержимого корзины в файле cookie. Затем cookie отправляется на сервер как часть запроса на оформление заказа. Существуют библиотеки JS для изменения файлов cookie. Например, Here и here.

  3. Используйте Javascript и Ajax, чтобы сообщать сервер всякий раз, когда что-то добавляется в корзину. Используйте cookie для хранения session_id для пользователя и его тележки. На странице фотографии смотрит телегу с идентификатора сессии

Это характерно для книг на стороне сервера программного обеспечения для обсуждения тележек, поскольку тележки являются общей проблемой для людей. Какое серверное программное обеспечение вы используете?

Нет необходимости сравнивать переменную с «истинным» в булевом выражении, таком как ваши операторы if. Другими словами:

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

Я не использую программное обеспечение на стороне сервера, мой помощник просто хотел, чтобы я сделал быстрый веб-сайт, чтобы он продавал настенные покрытия, и я подумал я мог бы сделать с обучением веб-разработчиков, вот и я. – andy07070

+0

Есть ли какие-нибудь книги, которые вы порекомендовали бы для программного обеспечения на стороне сервера? – andy07070

+0

Если вы хотите продать что-то за деньги, то проект сразу становится намного сложнее. Наверное, это не лучшая вещь, чтобы узнать, нужна ли вам система производства для вашего друга. Безопасное использование кредитных карт, база данных клиентов, SKU, заказы и т. Д .; привлекательный сайт с фотографиями и отслеживание «заброшенных телег» (для маркетингового анализа) и т. д. Предложите использовать готовое решение от shopify, Yahoo, Amazon, Ebay или других. Re server side sw: php и Ruby on Rails - это два популярных решения. Просмотрите обзоры книг и содержимое книги, чтобы узнать, какие из них обсуждают тележки для покупок. Многие это делают. –