Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   JS (AJAX-запрос) в PHP и обратно, и все это на localhost (https://javascript.ru/forum/server/81331-js-ajax-zapros-v-php-i-obratno-i-vse-ehto-na-localhost.html)

maratus 10.11.2020 16:06

JS (AJAX-запрос) в PHP и обратно, и все это на localhost
 
Здравствуйте.

WEB программирую постольку-поскольку. Использую JS и PHP.

В приниципе, особых вопросов по языкам нет. Вопрос состоит в их общении друг с другом через AJAX на localhost.

Как делаю по настоящий момент:
- пишу JS-код;
- пишу PHP-код (для отладки использую простейший локальный сервер Apache2, т.е. имитирую получение запроса с клиентской стороны в предусмотренном формате, далее поднимаю скрипт, а echo - оно и в Африке echo);
- далее выкладываю все это дело на хостинг, в PHP-скрипте, разумеется вместо имитации запроса ставлю, как и положено, $_REQUEST[...] и только с этого момента начинаю проверять их стыковку.

Все замечательно работает, и входит, и выходит.

Умных мыслей сейчас много, поэтому решил начать все делать по уму, т.е. выполнять отладку сайта сразу здесь на месте, т.е. на локальном сервере localhost.

И вот здесь затык. Уверен, не оригинален, и, возможно, этот вопрос уже где-нибудь здесь на форуме обсуждался. Не нашел. Выбрал javascript.ru, потому что хочу, чтобы именно на локальном хосте, JavaScript, через XMLHttpRequest или fetch - это неважно, отправлял запрос в PHP, который, в свою очередь, выполнялся бы и выдавал результат обратно.

Поскольку, все работает на хостинге, но не работает на localhost, значит я не могу нормально настроить локальный сервер.

Что пробовал:
- запускал http-server из Node.JS (результат: мои GET-запросы получают статус 200 OK, однако response = null). Соответственно в адресной строке браузера localhost:8080, например;
- запускал локальный сервер через python (статус 200 OK, response = null). В адресной строке браузера localhost:8080, например;
- пробовал встроенный локальный сервер php -S (там, как то, вообще тишина).

Если кому не жалко, подкиньте правильную мысль. Уперся, и что-то даже не знаю куда идти. А продолжать писать по старому, как то не очень, тем более хочется всякую ленивую подгрузку делать, и все такое. Тут нужна постоянная связка.

Заранее благодарен.

Nexus 10.11.2020 16:16

Цитата:

Сообщение от maratus
Поскольку, это дело, как и положено, у меня работает если на хостинге, значит я не могу нормально настроить локальный сервер.

Как это понять? Раз 5 перечитал.

Цитата:

Сообщение от maratus
Уперся, и что-то даже не знаю куда идти.

Во что уперлись? Ответ от сервера отсутствует?

laimas 10.11.2020 16:22

О чем речь и в чем проблема? На хосте, это тоже будет localhost для всего того, что на нем расположено, а для удаленного пользователя, это будут разные домены с разными адресами.

Есть сервер Open Server, установите его, в нем вы можете создавать для тестирования много виртуальных хостов, доменов, и все они будут зарегистрированы по одному и тому же петлевому адресу. Что голову то над этим ломать, это не ваша забота как разработчика. А вот если вы в своем коде будете явно оперировать адресами типа localhost:8080, то да, разместите на севере и ничего работать не будет.

maratus 10.11.2020 16:22

Цитата:

Сообщение от Nexus
Как это понять? Раз 5 перечитал.

Все работает на хостинге. А на localhost нет.

Цитата:

Сообщение от Nexus
По что уперлись? Ответ от сервера отсутствует?

Мне кажется, что не выполняется в фоновом режиме php-интерпретатор. Сужу об этом по получаемому статусу 200 OK, но пустому возврату данных response.

maratus 10.11.2020 16:41

Цитата:

Сообщение от laimas
Есть сервер Open Server, установите его, в нем вы можете создавать для тестирования много виртуальных хостов, доменов, и все они будут зарегистрированы по одному и тому же петлевому адресу. Что голову то над этим ломать, это не ваша забота как разработчика. А вот если вы в своем коде будете явно оперировать адресами типа localhost:8080, то да, разместите на севере и ничего работать не будет.

В том то и суть, я бы рад не заморачиваться этим, но как сделать, чтобы я мог вести отладку полностью на localhost?

Я о чем и говорю, что на хостинге все работает хорошо, а вот на своем компе, через localhost, я не могу просто походить по своему сайту, чтобы php нормально отвечало.

В своем коде, localhost не использую.

laimas 10.11.2020 16:54

Цитата:

Сообщение от maratus
В том то и суть, я бы рад не заморачиваться этим, но как сделать, чтобы я мог вести отладку полностью на localhost?

https://ospanel.io/

Почитайте, установите, многое станет понятным. Вы исключительно именем домена оперировать будете, если только вам не нравится с IP домена заморачиваться. А если вы в коде своем используете относительные адреса, например

<a href="/path/page.html">Page</a>

то браузер протокол и имя домена сам подставит и будет в итоге запрос к htpp://yourdomain/path/page.html. В РНР есть все необходимое чтобы узнать все о домене и использовать, поэтому, на своем локальном хосте вы можете под каким угодно именем домена тестировать, на удаленном будет уже реальное.

maratus 10.11.2020 17:27

Цитата:

Сообщение от laimas
Почитайте, установите, многое станет понятным

Спасибо большое. Буду посмотреть ))

maratus 10.11.2020 20:39

laimas,
Спасибо большое за подсказку.
Разобрался с Open Server. Работает как требуется )))
Благодарю! :)


Часовой пояс GMT +3, время: 11:36.