javascript - ajax 与 php 的连接在子目录中不起作用

标签 javascript php ajax

你好,我的目录中有一个 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/

相关文章:

javascript - 为什么下划线不验证其功能?

javascript - ES6 是否不需要命名函数表达式?

php - 如何使用 .htaccess 重定向除一个请求以外的所有请求?

ajax - 在自定义网络服务器中为 AJAX 调用设置的 header

javascript - 排序后的 JavaScript 数组如何从比较器返回不正确的值?

javascript - 如何使用 Javascript 而不是 jQuery 使用 JSON 数据动态填充 html 元素?

php - 如何根据用户输入从Excel工作表中查找数据

php - 如何防止 PHP 中的 SQL 注入(inject)?

javascript - 如何用javascript获取宽度和高度?

javascript - 让浏览器在页面仍在加载时尽快进行 AJAX 调用