Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.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
Apache服务器PHP在地址栏中工作,但在使用Javascript中的AJAX时不工作?_Javascript_Php_Ajax_Apache_Adobe Captivate - Fatal编程技术网

Apache服务器PHP在地址栏中工作,但在使用Javascript中的AJAX时不工作?

Apache服务器PHP在地址栏中工作,但在使用Javascript中的AJAX时不工作?,javascript,php,ajax,apache,adobe-captivate,Javascript,Php,Ajax,Apache,Adobe Captivate,我已经在一个EC2实例上创建了一个Apache服务器,我正在使用它托管一个mySQL数据库和一些PHP脚本来访问该数据库。我已经在Apache服务器上安装了我认为所有必需的依赖项,当我编写PHP脚本并使用地址栏通过web浏览器访问它时,PHP脚本将运行、查询我的数据库并将正确的信息返回给web浏览器 但是,脚本的目标是让Javascript应用程序通过AJAX访问数据库,特别是Captivate课程。当我尝试使用AJAX访问脚本时,什么都没有发生。 Captivate提供的关于错误日志记录的信息

我已经在一个EC2实例上创建了一个Apache服务器,我正在使用它托管一个mySQL数据库和一些PHP脚本来访问该数据库。我已经在Apache服务器上安装了我认为所有必需的依赖项,当我编写PHP脚本并使用地址栏通过web浏览器访问它时,PHP脚本将运行、查询我的数据库并将正确的信息返回给web浏览器

但是,脚本的目标是让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将代码发布到屏幕上,我只是用它来检查我是否首先得到了什么。URL在另一端指向一个名为simpleecho.php的php脚本:

<?php
    echo "test";
?>

我有更复杂的PHP脚本,但它们也都在浏览器中工作。如果我转到web浏览器地址栏中的URL,我会看到“test”。 我尝试过从异步请求更改为同步请求,我确信Captivate的javascript可以使用jQuery相关代码,我尝试过8种不同的方式将AJAX请求作为POST和GET发送,但我不确定我遗漏了什么。我的直觉告诉我,Apache服务器配置有问题,无法响应地址栏之外的特定请求,但我对配置httpd.conf文件的了解还不够,无法了解我在寻找什么


任何和所有的提示和学习是感激的

这个问题的答案是,不允许我使用HTTP与apache服务器通信,并且必须使用SSL来保护它才能使用HTTPS。我尝试使用自签名证书,但自签名版本也不允许与Captivate课程一起使用。

这个问题的答案是不允许我使用HTTP与apache服务器通信,并且必须使用SSL才能使用HTTPS。我尝试使用自签名证书,但自签名版本也不允许与Captivate课程一起使用。

您打开浏览器的开发人员工具了吗?检查控制台中是否有错误消息,并观察那里的AJAX请求/响应。除非出现CORS错误,否则Apache配置不会停止请求。@JayBlanchard感谢关于使用开发人员工具的提示,在jsfiddle.net上,请求会因“加载混合活动内容”而停止。从我阅读的内容来看,这似乎是因为我在http而不是https上执行XMLHttpRequest。但是,我不确定如何才能将我的Apache服务器更改为能够提供HTTPS地址而不仅仅是HTTP地址。您知道这方面的情况吗?是的-您至少需要一个自签名证书才能在Apache服务器上允许SSL。这就是你下一个研究领域。你打开浏览器的开发工具了吗?检查控制台中是否有错误消息,并观察那里的AJAX请求/响应。除非出现CORS错误,否则Apache配置不会停止请求。@JayBlanchard感谢关于使用开发人员工具的提示,在jsfiddle.net上,请求会因“加载混合活动内容”而停止。从我阅读的内容来看,这似乎是因为我在http而不是https上执行XMLHttpRequest。但是,我不确定如何才能将我的Apache服务器更改为能够提供HTTPS地址而不仅仅是HTTP地址。您知道这方面的情况吗?是的-您至少需要一个自签名证书才能在Apache服务器上允许SSL。这就是你下一个研究领域。