@semennn

Как получить ответ от сервера на php?

Всем привет! Помогите разобраться новичку:

1. Когда пользователь отправляет форму на сайте или запрос отправляется автоматически с сайта при загрузке, например, IP для определения страны посетителя, то используется AJAX. Как серверу сформировать ответ для клиента? Пока только в самом php-скрипте использую конструкцию:

header("если необходимы заголовки");
echo "сам ответ";

Неужели это единственный вариант? Как еще можно обмениваться данными с сервером, в том числе получать от него короткие сообщения - "данные получены успешно", "почта отправлена" и.т.д?

2. Начинал изучение серверной части с Node.js, так там стоит обработчик на все запросы, и потом идет анализ URI, по которому определяется, какие необходимо совершить действия (это пример для элементарного кода серверной части, например, для лендинга). Как строится принцип работы сервера на php? Тоже можно создавать один файл(скрипт) и на него слать все запросы, где будет анализироваться входящие данные и переменные окружения и далее перенапрявляться на другой скрипт или определенный кусок кода в основном скрипте (если задачи простые и длина кода не слишком большая)? Или создается несколько отдельных файлов *.php? Как правильно делать?
  • Вопрос задан
  • 3315 просмотров
Решения вопроса 1
gobananas
@gobananas
finishhim.ru
Тоже можно создавать один файл(скрипт) и на него слать все запросы

Можно, гуглите роутинг на php

Как еще можно обмениваться данными с сервером

А как нужно вам? Можно в заголовок X-Accept... в header ответ запихать.

короткие сообщения - "данные получены успешно", "почта отправлена" и.т.д?

echo "ok";
echo "почта отправлена";


Можно в JSON отдавать ответ, но суть та же...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
KorniloFF
@KorniloFF Куратор тега JavaScript
Работаю по font-end / JS
1. Форму отправлять аяксом это одно, а данные о пользователе, в т.ч. и IP нужно брать в серверном массиве $_SERVER. Для получения responseText заголовки скрипту-обработчику не нужны. https://js-master.ru/?Javascripts___Бесплатные_скр...
2. В пыхе можно как сделать единственный обработчик с проверкой запросов, так и разные, это совершенно не принципиально. Разные, конечно, удобнее в использовании.
Ответ написан
skobkin
@skobkin
Гентушник, разработчик на PHP и Symfony.
Посмотрите как это делается в таких свободных компонентах как:
https://symfony.com/doc/current/components/http_fo...
https://symfony.com/doc/current/components/routing.html
https://symfony.com/doc/current/components/http_ke...
Ответ написан
Комментировать
Ты имеешь ввиду полный контроль и информирование? Websockets, устанавливаешь соединение, кидаешь запрос серверу, тот в свою очередь принимает и:
- отправляет ответ клиенту, все ок, данные приняты ждите
- обрабатывает данные 1
- отправляет ответ клиенту, чел первые этап пройден , осталось еще чуть-чуть (50%)
- обрабатывает данные 2 (100% ок)
- отправляет ответ, спасибо что дождался вот твои результаты

При возникновении какой-либо ошибки на этапе, возвращает ошибку.
Все это ты должен ловить на клиенте js-ом и информировать посетителя, схемы реализации разные и с нодой это будет попроще, чем с пыхой
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы