AJAX脚本仅在root中工作

时间:2014-04-16 03:53:20

标签: javascript ajax root

我创建了一个AJAX选民,但它似乎只适用于根域。因此,如果我正在查看主页mydomain.com,则该页面上的投票功能完全正常。如果我在mydomain.com/topic/article2.html中查看某些内容,则无效。出于某种原因,即使我将它放在root中,脚本似乎也找不到vote.php文件。 Ajax请求给出状态500(内部服务器错误),我希望找不到404文件。我玩了一些参考位置的不同组合,例如“./vote.php”和“vote.php”,问题没有改变。我也尝试将vote.php文件放在其他位置,但我试过的地方都没有淘汰。任何帮助将不胜感激,因为我已经花了几个小时在线阅读可能的解决方案但无法找到解决方案。

我正在使用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>

2 个答案:

答案 0 :(得分:0)

命令&#34; ./"只会在一个子目录中向下移动你(如果你在/ php / submit中有一个文件&#34; ./"会引用&#34; / php&#34;不会&#34; /&#34 ;。)尝试替换&#34; ./ vote.php?&#34;与&#34; /vote.php。&#34;

答案 1 :(得分:0)

在路径方面:

  • /表示根目录
  • ./表示当前目录
  • ../表示当前目录上方的目录。

因此,只要您不在服务器端工作,/vote.php就可以解决问题。