Apache Сервер PHP работает в адресной строке, но не при использовании AJAX из Javascript? - PullRequest
1 голос
/ 21 апреля 2020

Я создал сервер Apache в экземпляре EC2, который я использую для размещения базы данных mySQL и некоторых сценариев PHP для доступа к этой базе данных. Я установил то, что я считаю всеми необходимыми зависимостями на сервере Apache, до того момента, когда я пишу сценарий PHP и получаю к нему доступ через веб-браузер, используя адресную строку, скрипт 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 приводит к скрипту php на другом конце, называемому simpleecho. php:

<?php
    echo "test";
?>

У меня есть более сложные PHP скрипты, но они также все работают в браузере. Если я go toUrl в адресной строке веб-браузера, я вижу «тест». Я пытался изменить с Asyn c запросов на Syn c, я уверен, что Captivate javascript может использовать jQuery связанный код, я пробовал как 8 различных способов отправки запроса AJAX как POST и ПОЛУЧИТЬ, но я не уверен, что мне не хватает. Мой инстинкт говорит, что что-то неправильно настроено на сервере Apache, который не позволяет ему отвечать на конкретные запросы вне моей адресной строки, но я недостаточно знаю о настройке моего файла httpd.conf, чтобы знать, что я ищу .

Любые советы и обучение приветствуются!

1 Ответ

0 голосов
/ 22 апреля 2020

Ответ на этот вопрос состоял в том, что мне не разрешили использовать HTTP для связи с сервером apache, и его необходимо защитить с помощью SSL для использования HTTPS. Я попытался использовать самоподписанный сертификат, но самозаверяющая версия также не была разрешена для использования с курсом Captivate.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...