URL에 변수가 포함 된 경우 사용해야합니다. $_GET["key"]
대신에 $_POST
또는 사용할 수 있습니다 $_REQUEST["key"]
두 경우를 모두 처리합니다.
문제
누군가 내 Ajax Div가 주소 표시 줄 변수를 얻을 수있는 방법에 대해 조언 할 수 있습니까? 일반적인 방법은 작동하지 않습니다.
내 주소 표시 줄는 현재 다음과 같습니다.
http://localhost/social3/browse/?locationName=Cambridge
분명히, 내가 여기에 액세스하려는 단어는 '케임브리지'입니다. 일반적으로 작은 PHP를 사용하고 다음을 수행합니다.
$searchResult = $_POST['locationName'];
echo $searchResult;
그러나 나는 Ajax div에 있기 때문에 변수에 도달 할 수없는 것 같습니다.
Ajax 코딩에 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"]
두 경우를 모두 처리합니다.