Получение параметра запроса из URL, у которого в inturn есть несколько URL с параметрами запроса - PullRequest
5 голосов
/ 02 августа 2010

У меня следующий URL

http://somesite/somepage.aspx

Я передаю значение параметра запроса, у которого есть другой URL с параметрами запроса, подобными этому.

http://somesite/somepage.aspx?pageURL= http://someothersite/someotherpage.aspx?param1=value&source=http://anotheronesite/anotherpage

Мне нужно получить значение pageURL как значение, выделенное жирным шрифтом. Но я получаю

http://someothersite/someotherpage.aspx?param1=value

и я не получаю исходный параметр. Я использую следующую функцию JavaScript -

  function getParameterByName( name )
  {
     name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
     var regexS = "[\\?&]"+name+"=([^&#]*)";
     var regex = new RegExp( regexS );
     var results = regex.exec( window.location.href );
     if( results == null )
       return "";
     else
       return decodeURIComponent(results[1].replace(/\+/g, " "));
  }

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 02 августа 2010

Вам необходимо использовать URL-кодировку для кодирования параметра. В противном случае & считается зарезервированным символом и относится к «базовому URL».

0 голосов
/ 02 августа 2010

рассматривали ли вы html URL, кодирующий параметр pageURL?

это значительно упростит вашу задачу

...