سؤال

هل يمكن لشخص ما أن ينصحني بكيفية الحصول على متغير شريط العناوين الخاص بي. الطريقة المعتادة فقط لا تعمل.

يشبه شريط العناوين حاليًا هذا:

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

من الواضح أن الكلمة التي أحاول الوصول إليها هنا هي "كامبريدج". عادة ، أود استخدام القليل من PHP وأقوم بذلك:

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

لكن لأنني في Ajax Div ، لا يبدو لي أن أصل إلى المتغير.

هل أحتاج إلى إضافة بعض معالج JavaScript إلى ترميز 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 -->
هل كانت مفيدة؟

المحلول

إذا كان عنوان URL الخاص بك يحتوي على المتغير ، فيجب استخدامك $_GET["key"] بدلاً من $_POST

بدلاً من ذلك ، يمكنك استخدام $_REQUEST["key"] للتعامل مع كلتا الحالتين.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top