我在使用 AJAX 时遇到了一个奇怪的问题。我有一个 HTML 页面,它在此页面上调用 AJAX 函数:
public_html/test/books.html
我要调用的 AJAX 文件位于此页面上:
public_html/lists/include/vote_up.php
我试图以唯一合乎逻辑的方式将其包含在内,即:
xmlhttp.open("GET","../lists/include/vote_up.php?id="+id,true);
但是请求永远不会到达 PHP 文件。我究竟做错了什么?在同一个 books.html 页面上,我有几个来自“lists/includes”文件夹的 include 可以工作,例如:
include('../lists/include/functions.php');
这是使用绝对路径的更新函数:
function voteUp(id){
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("item_voting"+id).innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","mydomain.com/lists/include/vote_up.php?id="+id,true);
xmlhttp.send();
}
最佳答案
绝对路径 something.com/lists/include/voice_up.php
应该有效,现在我认为,因为你仍然在 public_html 文件夹中,即使你提供的相对路径也应该有效,因为我经常将它们用于图像和 .css 文件。我建议发布更多代码以使其清楚。
关于php - 相对路径在 Ajax 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12568490/