Php 相对路径不';我不能在Ajax中工作

Php 相对路径不';我不能在Ajax中工作,php,javascript,ajax,Php,Javascript,Ajax,我在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.h

我在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”文件夹中找到了几个有效的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();
}

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

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

绝对路径
something.com/lists/include/voice\u up.php
应该可以工作,现在我认为,因为你仍然在public\u html文件夹中,即使是你提供的相对路径也应该可以工作得很好,因为我经常在图像和.css文件中使用它们。我建议发布更多的代码来说明问题。

绝对路径
something.com/lists/include/voice\u up.php
应该可以工作,现在我认为,因为您仍然在public\u html文件夹中,即使您提供的相对路径也应该可以工作,因为我经常将它们用于图像和.css文件。我建议发布更多的代码来澄清这一点。

我认为这是不对的,因为1)我有AJAX函数使用“../etc”路径,2)使用绝对路径会出现Javascript错误。你看过文档了吗?它清除了URL。Javascript在客户端的web浏览器中运行。您的文件系统路径没有任何意义。使用domainname.com/lists/include/vote_up.php不起作用。然后出现另一个错误。您收到的错误是什么?不再有,错误是由于在URL开头添加“http://”引起的。我在我的问题中添加了完整的AJAX函数。我认为这是不对的,因为1)我有AJAX函数使用“../etc”路径,2)使用绝对路径会出现Javascript错误。你看过文档了吗?它清除了URL。Javascript在客户端的web浏览器中运行。您的文件系统路径没有任何意义。使用domainname.com/lists/include/vote_up.php不起作用。然后出现另一个错误。您收到的错误是什么?不再有,错误是由于在URL开头添加“http://”引起的。我在我的问题中添加了完整的AJAX函数。你试过了吗?
/lists/include/vote\u up.php?id=which
,以这样的斜线开头?这是我经常使用的,但我忘了这是否需要额外的服务器配置。您是否尝试过使用类似斜杠的
/lists/include/vote_up.php?id=which
?这是我经常使用的,但我忘记了这是否需要额外的服务器配置。