Подтвердить что ты не робот

Совместное использование данных между html-страницами

Я хочу отправить некоторые данные с одной страницы HTML на другую. Я отправляю данные через параметры запроса, такие как http://localhost/project/index.html?status=exist. Проблема с этим методом заключается в том, что данные остаются в URL-адресе. Есть ли другой способ отправки данных через HTML-страницы с помощью JavaScript или jquery.

4b9b3361

Ответ 1

почему вы не храните свои значения в объектах хранения HTML5, таких как sessionStorage или localStorage, посетите HTML5 Storage Doc, чтобы получить более подробно. Используя это, вы можете временно или временно сохранять промежуточные значения локально, а затем получать доступ к своим значениям позже.

Чтобы сохранить значения для сеанса:

sessionStorage.getItem('label')
sessionStorage.setItem('label', 'value')

или более:

localStorage.getItem('label')
localStorage.setItem('label', 'value')

Таким образом, вы можете хранить (временно) данные формы между несколькими страницами, используя объекты хранения HTML5, которые вы даже можете сохранить после перезагрузки.

Ответ 2

Я знаю, что это старый пост, но решил, что я поделюсь двумя центами. @Neji верно в том, что вы можете использовать sessionStorage.getItem('label') и sessionStorage.setItem('label', 'value') (хотя он имел параметры setItem назад, а не большое дело). Я больше предпочитаю следующее, я думаю, что это более красноречиво:

var val = sessionStorage.myValue

вместо getItem и

sessionStorage.myValue = 'value'

вместо setItem.

Кроме того, следует отметить, что для хранения объектов JavaScript они должны быть сжаты для их установки и проанализированы для их получения:

sessionStorage.myObject = JSON.stringify(myObject); //will set object to the stringified myObject
var myObject = JSON.parse(sessionStorage.myObject); //will parse JSON string back to object

Причина в том, что sessionStorage хранит все как строку, поэтому, если вы просто скажете sessionStorage.object = myObject, все, что вы получаете, это [object Object], что вам не очень помогает.

Ответ 3

возможно, если вы хотите просто перенести данные, которые будут использоваться JavaScript, вы можете использовать теги Hash как это

http://localhost/project/index.html#exist

поэтому один раз, когда вы закончите восстановление данных, покажите сообщение и измените window.location.hash для подходящего значения.. теперь, когда вы обновите страницу, hashtag не будет присутствовать
ПРИМЕЧАНИЕ:, когда вы будете использовать это вместо строк запроса, отправляемые данные не могут быть восстановлены/прочитаны сервером

Ответ 4

Ну, вы действительно можете отправлять данные через JavaScript - но вы должны знать, что это источник эксплойта # 1 на веб-страницах, поскольку он XSS:)

Я лично предложил бы использовать форму HTML вместо этого и изменить данные javascript на стороне сервера.

Но если вы хотите делиться между двумя страницами (я полагаю, что они не оба на локальном хосте, потому что это не имеет смысла делиться между двумя страницами, управляемыми двумя файлами), вам нужно будет указать заголовки CORS, чтобы разрешить браузер для отправки данных в белые списки.

Эти две ссылки могут вам помочь, он показывает пример с помощью Node backend, но вы понимаете, как это работает:

Ссылка 1

И, конечно же, спецификация CORS:

Ссылка 2

~ Приветствия