我創建了一個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>
使用螢火蟲,它似乎服務器試圖訪問它像「mydomain/index.php/vote.php」,所以它堅持在那裏index.php自動。也許這是問題,我可以重寫這個? – user3538526
如果我在joomla服務器中關閉SEF,它似乎可以正常工作,但它會弄亂我的頁面,並且我希望SEF:( – user3538526