URL-адрес, созданный pushstate объекта History

Я изучаю, как изменить свой URL-адрес, чтобы показать параметры строки запроса, отправленные на сервер

Я беру некоторые данные от пользователя, выполняя вызов ajax на сервер, когда сервер возвращает данные, я показываю это пользователю, Итак, если мой URL-адрес ранее был abc.com . и если я использую pushstate для добавления параметров строки запроса к URL-адресу, т.е. чтобы сделать его abc.com?param1=val1¶m2=val2 ,

Будет ли этот новый URL-адрес фактическим URL-адресом для этих двух параметров, взятых у пользователя. Я имею в виду, если я скопирую и отправлю эту ссылку кому-нибудь: abc.com?param1=val1¶m2=val2

откроет ли он этот abc.com, чтобы показать результаты данных для этих двух параметров?

Заранее спасибоenter code here


person ALBI    schedule 01.09.2013    source источник


Ответы (1)


Он не получает данные для abc.com?param1=val1&param2=val2, а вместо этого получает данные для abc.com, значение по умолчанию.

Но вы можете исправить это либо с помощью JS, либо с помощью серверной программы.

  1. Если вы используете JavaScript, вы можете сделать это, проанализировав document.URL самостоятельно, а затем загрузив данные на основе параметров. (Не рекомендуется)
  2. В противном случае, если на сервере, напрямую обслуживать контент для abc.com?param1=val1&param2=val2

Второй метод настоятельно рекомендуется.

person little pootis    schedule 01.09.2013
comment
НО запрос на сервер выполняется, когда пользователь вводит данные и нажимает «Перейти». Если я пошлю эту ссылку кому-нибудь, как запрос пойдет на сервер без нажатия кнопки «Перейти». Если я занимаюсь программированием на стороне сервера, и сервер должен напрямую обслуживать контент для abc.com?param1=val1¶m2=val2 , как мне вызвать сервлет без нажатия кнопки «Перейти», потому что это нужно сделать, если URL-адрес уже имеет эти параметры. - person ALBI; 02.09.2013
comment
Тогда вам придется использовать первый метод. Когда страница завершит загрузку, проверьте, есть ли какие-либо параметры, переданные URL-адресу, проанализируйте их (есть несколько библиотек, которые помогут вам в этом: например, это) и обслуживать контент так же, как если бы пользователь ввел данные и нажал кнопку "Перейти". Помните, что единственная разница между выполнением этого при нажатии кнопки «Перейти» и при загрузке страницы заключается в том, что в первом подходе вы получаете данные от пользователя, а во втором вы получаете данные непосредственно из URL-адреса. - person little pootis; 02.09.2013