你好,我的目录中有一个 javascript 文件
root/ assets/ js / a.js
目录中还有一个 php 文件
root/php/foo.php
在 a.js 文件中,我尝试使用 ajax 来连接 foo.php 。如果 foo.php 位于根目录 a.k.a
root/foo.php
该功能工作正常,但是当我将文件放在上面的目录中时,没有任何效果。这是与连接相关的函数
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) {
alert(xmlhttp.responseText);
}
}
xmlhttp.open("GET","../../studentSignupPHP/test.php?q=" + str, true);
相对路径
xmlhttp.open(..)
对我来说似乎很好,所以我不明白我做错了什么。你能帮我吗?
foo.php
<?php echo "test"; ?>
最佳答案
不要从 js 目录遍历,而是像这样使用对根路径的引用
/php/foo.php
请参阅上面 charlietfl 的评论了解原因。
编辑: 更新了 @charlietfl 的评论
“路径取决于您在浏览器中加载的页面,而不是 js 文件的存储位置。打开浏览器开发工具并查看网络选项卡,将看到浏览器尝试使用的路径ajax 调用”
关于javascript - ajax 与 php 的连接在子目录中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24727689/