2013-11-07 4 views
0

Может кто-нибудь, пожалуйста, сообщите мне, как мой div Ajax может получить переменную адресной строки. Обычный способ просто не работает.Ajax div не может получить доступ к адресной строке переменной

Мой адрес бар в настоящее время выглядит следующим образом:

http://localhost/social3/browse/?locationName=Cambridge 

Очевидно, что слово, которое я пытаюсь получить доступ здесь «Кембридж». Как правило, я хотел бы использовать немного PHP и сделать это:

$searchResult = $_POST['locationName']; 
echo $searchResult; 

Но потому, что я нахожусь в DIV Ajax, я не могу показаться, чтобы получить к переменной.

Нужно ли добавить какое-нибудь JavaScript-волшебство в мою Ajax-кодировку? (У меня мало знаний об этом)

Мой Ajax:

<script>  
window.onload = function() { 
    var everyone = document.getElementById('everyone'), 
     searching = document.getElementById('searching'), 
     searchingSubmit = document.getElementById('searchingSubmit'); 

    everyone.onclick = function() { 
     loadXMLDoc('indexEveryone'); 
     everyone.className = 'filterOptionActive'; 
     searching.className = 'filterOption'; 
    } 

    searching.onclick = function() { 
     loadXMLDoc('indexSearching');   
     searching.className = 'filterOptionActive'; 
     everyone.className = 'filterOption'; 
    } 

    searchingSubmit.onclick = function() { 
     loadXMLDoc('indexSearchingSubmit'); 
    } 

    function loadXMLDoc(pageName) 
    { 
     var xmlhttp; 
     if (window.XMLHttpRequest) 
      {// code for IE7+, Firefox, Chrome, Opera, Safari 
      xmlhttp=new XMLHttpRequest(); 
      } 
     else 
      {// code for IE6, IE5 
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
    xmlhttp.onreadystatechange=function() 
      { 
      if (xmlhttp.readyState==4 && xmlhttp.status==200) 
      { 
      document.getElementById("leftCont").innerHTML=xmlhttp.responseText; 
      } 
      } 

     function get_query(){ 
      var url = location.href; 
      var qs = url.substring(url.indexOf('?') + 1).split('&'); 
      for(var i = 0, result = {}; i < qs.length; i++){ 
      qs[i] = qs[i].split('='); 
      result[qs[i][0]] = decodeURIComponent(qs[i][1]); 
      } 
      return result; 
     } 

     xmlhttp.open("GET","../browse/" + pageName + ".php?user=" + get_query()['user'],true); 
     xmlhttp.send(); 
     } 
} 
</script> 
<!-- ends ajax script --> 
+0

Как получить то, что сейчас? Это не переменная adressbar, это переменная POST или GET, полученная из формы submit или pageload, которая передает эти значения на сервер, поэтому, не перезагружая страницу, вы получите текущий URL с 'window.location', а искать параметры с помощью 'window.location.search'? – adeneo

+0

Привет, у меня не было подробного просмотра вашего образца кода, но я бы предложил Googling что-то вроде: JavaScript parse query string url. – Douglas

ответ

0

Если URL содержит переменную, вы должны использовать $_GET["key"] вместо $_POST

в качестве альтернативы, вы можете использовать $_REQUEST["key"] обрабатывать оба случая ,

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