我在一个 EC2 实例上创建了一个 Apache 服务器,我用它来托管一个 mySQL 数据库和一些 PHP 脚本来访问该数据库。我已经在 Apache 服务器上安装了我认为所有必需的依赖项,以至于当我编写 PHP 脚本并使用地址栏通过 Web 浏览器访问它时,PHP 脚本运行、查询我的数据库并返回正确的信息到网络浏览器。
但是,脚本的目标是供 Javascript 应用程序使用,以通过 AJAX 访问数据库,特别是 Captivate 课程。当我尝试使用 AJAX 访问脚本时,没有任何反应。Captivate 提供的关于错误日志的信息非常少,所以我尝试使用其他服务来检查我的 javascript 以确保它正常工作,例如 jsfiddle.net,但似乎 Javascript 不是问题。这是我的代码:
function httpGet(theUrl)
{
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", theUrl, false ); // false for synchronous request
xmlHttp.send();
alert(xmlHttp.responseText);
}
我的目标不一定是使用 Alert 将代码发布到屏幕上,我使用它只是为了检查我是否得到了任何东西。theUrl 指向另一端名为 simpleecho.php 的 php 脚本:
<?php
echo "test";
?>
我有更复杂的 PHP 脚本,但它们也都可以在浏览器中运行。如果我在 Web 浏览器的地址栏中访问 theUrl,我会看到“测试”。我尝试从异步请求更改为同步,我确信 Captivate 的 javascript 可以使用 jQuery 相关代码,我尝试了 8 种不同的方式将 AJAX 请求作为 POST 和 GET 发送,但我不确定我错过了什么. 我的直觉说 Apache 服务器配置有问题,导致它无法响应地址栏之外的特定请求,但我对配置我的 httpd.conf 文件知之甚少,无法知道我在寻找什么。
感谢任何和所有提示和学习!