Php XMLHttpRequest对象的开放方法的相对路径
在包含Ajax请求的JavaScript文件中,URL相对于什么?我有一个包含alpha和bravo目录的www目录。alpha中的JavaScript文件和包含它的HTML文件,以及在bravo中处理请求的PHP 在JavaScript文件中,我有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”)
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根本不可访问……你可能可以想象答案