2016-06-07 1 views
-3

У меня есть один файл .html, где я нажимаю некоторые флажки и сохраняю некоторые данные в массиве.Javascript: Есть ли простой способ передать данные с одной веб-страницы на другую?

Все, что мне нужно, это передать данные массива в другой .html-файл.

Поиск по переполнению стека Я нашел несколько ответов, например "How to pass JavaScript object from one page to other".

Из того, что я выяснил, одним из способов является использование API веб-хранилища и, в частности, Window.localStorage.

+0

Используйте 'sessionStorage' или' localStorage'. Или просто используйте 'JSON.stringify (obj)', чтобы получить строковое представление для передачи в вашем запросе на другую страницу. На другой странице можно использовать 'JSON.parse()', чтобы вернуть его обратно в объект. Возможно, вам понадобится escape/unescape как строка с кодировкой URL. В любом случае, это все довольно просто, чтобы учиться :) – ManoDestra

+0

Упоминание ваших собственных крайних сроков - не лучший подход, так как он превратит потенциальных ответчиков. 'localStorage' - очень простой API. Попробуйте. –

+0

http://stackoverflow.com/questions/13509089/passing-data-from-one-web-page-to-another?lq=1 или отправить форму GET и получить доступ к запросам на вашей цели –

ответ

3

Вот пример использования базовых манипуляций HTML и querystring без использования localStorage или sessionStorage, хотя они на самом деле очень простые API и заслуживают внимания.

HTML1 (отправитель):

Эта страница будет получить строковое представление объекта, а затем избежать его содержимое для переноса в строке запроса.

<script> 
var obj = { givenName: 'John', familyName: 'Doe', age: 45 }; 
console.log(obj); 
function passToNextPage() { 
    window.location = 'test2.html?' + escape(JSON.stringify(obj)); 
} 
</script> 
<button onclick="passToNextPage();">Pass</button> 

HTML2 (приемник):

Эта страница декодирует строку запроса, а затем анализирует текст JSON как объект, готовый к использованию.

<script> 
    var json = location.search.substring(1); 
    json = unescape(json); 
    var obj = JSON.parse(json); 
    console.log(obj); 
</script> 
+1

Красиво сделано. +1 – gibberish

2

Localstorage очень прост - идите на это. Только уловка заключается в том, что он сохраняет данные на собственном компьютере пользователя, поэтому он недоступен другим пользователям и (б) может быть замечен с помощью правильных инструментов.

Другой вариант, однако, заключается в использовании <form> - вот для чего они предназначены.

page1.html

<form action="page2.html" action="get"> 
    Name: <input name="thename" type="text" /><br> 
    <input type="submit" value="Send It" /> 
</form> 

В page2, чтобы получить данные с первой страницы, вы можете использовать PHP (а это значит, ваша страница будет называться page2.php и начать с <?php //php code here ?> или Python или какой-либо другой язык бэкенд

Для получения дополнительной информации:.

https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Forms/Sending_and_retrieving_form_data

С вашего вопроса, я думаю, что Localstorage будет хорошим вариантом.

Смежные вопросы