2014-04-16 3 views
0

나는 AJAX 유권자를 만들었지 만 루트 도메인에서만 작동하는 것 같습니다. 따라서 홈페이지 (mydomain.com)를 살펴보면 투표는 해당 페이지에서 완벽하게 작동합니다. mydomain.com/topic/article2.html에서 무언가를보고있는 경우 작동하지 않습니다. 웬일인지, 루트에 배치 했더라도 스크립트는 vote.php 파일을 찾지 못하는 것 같습니다. Ajax 요청은 상태 500 (내부 서버 오류)을 나타내며 파일을 찾을 수 없다는 404를 기대한다. "./vote.php"및 "vote.php"와 같은 참조 위치의 다른 조합을 사용하여 문제가 변경되지 않았습니다. 나는 또한 다른 위치에 vote.php 파일을 놓으려고했지만 내가 시도한 장소 중 아무 것도 시도하지 않았다. 가능한 해결책을 온라인에서 찾을 수는 없지만이 독서에 몇 시간을 보냈기 때문에 도움이 될 것입니다.AJAX 스크립트는 루트에서만 작동합니다.

제가 도움이된다면 Joomla 2.5와 Seblod 3.1에서 스크립트를 사용하고 있습니다.

내 스크립트에는 이상한 일이 없지만 "./vote.php"와 관련이 있다고 생각합니다. 서버가 다른 위치에서 루트를 확인하도록하는 방법이 있습니다.

<script> 
function SetVote(vote_choice, a, u) 
{ 

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.write(xmlhttp.responseText); 
    document.getElementById("result"+a).innerHTML=xmlhttp.responseText; 
    } 
    }  
xmlhttp.open("GET","./vote.php?vote="+ vote_choice + "&a=" + a + "&u=" + u,true); 
xmlhttp.send(); 
} 
</script> 
+0

방화 광을 사용하면 서버가 "mydomain/index.php/vote.php"와 같이 액세스하려고 시도하는 것처럼 보이므로 자동으로 index.php가 고정됩니다. 아마도 이것은 문제이며 이것을 무시할 수 있습니까? – user3538526

+0

joomla 서버에서 SEF를 끄면 작동하는 것처럼 보이지만 내 페이지가 엉망이되어 SEF가 필요합니다. ( – user3538526

답변

0

:

  • /
  • ./ 현재 디렉토리 위의 디렉토리를 의미 현재 디렉토리
  • ../에게 의미 루트 디렉토리를 의미합니다.

서버 측에서 작업하지 않는 한 /vote.php으로 문제를 해결해야합니다.

+0

밖으로 작동 솔루션은 내 서버에서 "/"하지만 "/domainname/vote.php"이 아니 었습니다. 루트가 도메인 폴더 위에있는 지 여부는 표준인지 여부를 모르겠습니다././ ../ 고장. – user3538526

0

명령 "./"(당신은/php에 "/ php에"없다 "/"/ 제출 "./"참조합니다에있는 파일이 있다면.) 하나 개의 하위 디렉토리에 의해 아래로 1을 이동하십시오 ./vote.php? " "/vote.php"와 함께 경로 지정의 관점에서

+0

./ 전혀 움직이지 않고 그대로 유지합니다.) –

관련 문제