2

我遇到了一个奇怪的 AJAX 问题。我有一个在此页面上调用 AJAX 函数的 HTML 页面:

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('../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();
}
4

2 回答 2

0

现在我认为绝对路径something.com/lists/include/voice_up.php应该可以工作,因为您仍然在 public_html 文件夹中,即使您提供的相对路径也应该可以正常工作,因为我经常将它们用于图像和 .css 文件。我建议发布更多代码以使其清楚。

于 2012-09-24T15:58:20.837 回答
-2

这里的问题是您在 xmlhttp.open 函数中使用系统路径。Javascript 在客户端执行,因此系统路径毫无意义。.. 符号在这种情况下是不可用的。您应该提供一个 URL。如果你改为这样做domainname.domain/lists/include/voice_up.php,它会工作得很好。

于 2012-09-24T15:51:11.783 回答