Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php XMLHttpRequest对象的开放方法的相对路径_Php_Javascript_Ajax_Path - Fatal编程技术网

Php XMLHttpRequest对象的开放方法的相对路径

Php XMLHttpRequest对象的开放方法的相对路径,php,javascript,ajax,path,Php,Javascript,Ajax,Path,在包含Ajax请求的JavaScript文件中,URL相对于什么?我有一个包含alpha和bravo目录的www目录。alpha中的JavaScript文件和包含它的HTML文件,以及在bravo中处理请求的PHP 在JavaScript文件中,我有xmlhttp.open(“GET”,“CheckServer.php?name=“+name,true”)

在包含Ajax请求的JavaScript文件中,URL相对于什么?我有一个包含alpha和bravo目录的www目录。alpha中的JavaScript文件和包含它的HTML文件,以及在bravo中处理请求的PHP

在JavaScript文件中,我有
xmlhttp.open(“GET”,“CheckServer.php?name=“+name,true”)CheckServer.php
是正确的。我试过
。/bravo/CheckServer.php
,但不起作用

我没有使用JQuery,而是使用WAMP

另外,我是否可以使用任何故障排除工具来查看处理请求的PHP页面是否首先被访问

编辑:我打开控制台,它说我在JavaScript文件中调用的函数没有定义。只有当我将.js文件移动到其他目录时才会发生这种情况。(我正确地修改了
标记:


编辑2:我认为WAMP有问题,因为我将完全相同的文件/文件夹复制到桌面上,一切正常。

这是基于调用它的页面的当前位置的相对位置。它与加载JavaScript的位置无关


打开控制台,查看Ajax请求[控制台或网络选项卡],您将看到它所请求的路径。

这是一个URL,这些URL本身与目录无关。它们可能映射到服务器上的目录,通常是这样,但客户端永远无法确定它,也不关心它。URL与当前的URL(您在浏览器地址栏中看到的内容)

因此,问题不是“CheckServer.php在服务器上的位置”,而是“如何从客户端访问它”

如果是这样的话:

http://example.com/alpha/index.html
http://example.com/bravo/CheckServer.php
http://alpha.example.com/index.html
http://bravo.example.com/CheckServer.php
好的。使用相对URL

但如果是这样的话:

http://example.com/alpha/index.html
http://example.com/bravo/CheckServer.php
http://alpha.example.com/index.html
http://bravo.example.com/CheckServer.php
然后它就变得复杂了,你必须研究(跨源资源共享),因为AJAX通常不能跨不同的域工作

哦,如果CheckServer.php根本不可访问……你可能可以想象答案