Есть ли способ отправить данные POST в другую форму и вернуть результат этой формы? - PullRequest
0 голосов
/ 19 июня 2019

Мне нужно отправить данные формы на другую страницу, которая позволит пользователю что-то делать в форме и возвращать результат этой формы обратно на исходную страницу?Это возможно?Я знаю, что это не идеально, но проблема в том, что мне нужно сделать «выпадающее» решение, которое не нужно интегрировать с другим кодом.Я знаю, что это очень специфический запрос и сценарий.

Я знаю, как отправлять POST-данные, которые не требуют ввода данных пользователем на странице обработки.то есть я могу отправить данные POST в «calc.php», который выполнит математические операции и отправит их обратно, но если мне потребуется дополнительный пользовательский ввод в «Calculate.php», как я все еще могу отправить его обратно?

Примером ожидаемых результатов может быть:

Страница № 1: Пользователь вводит номер и нажимает кнопку «Отправить» для перехода на следующую страницу.

Страница № 2: Пользователь вводит второй номер инажимает «отправить» до конца.

Вернуться на страницу # 1: Пользователь получает сумму обоих чисел.

Очевидно, это действительно избыточная вещь, но я пытаюсьмаксимально упростить проблему.

РЕДАКТИРОВАТЬ: я забыл добавить несколько ограничений.

  • Страница № 1 не является моим приложением, я разрабатываю страницу № 2 как«выпадающее» решение для страницы №1.По сути, я могу использовать только страницу № 1, чтобы вызвать страницу № 2 и получить от нее ответ.Проблема заключается в том, что мне нужно разрешить ввод данных пользователем на странице №2.
  • Я знаю, что могу опубликовать на странице №2, а затем снова опубликовать на странице №1, но что, если мне нужно сохранитьсостояние страницы №1.Например, если есть открытое соединение через веб-сокет.

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

Ответы [ 3 ]

0 голосов
/ 19 июня 2019

Любой из них должен работать:

  1. Никогда не покидайте страницу - используйте AJAX / XMLHttpRequest для вызова других страниц для обработки фрагментов данных

  2. Делайте все на странице 1, используя «обратные ссылки» - цели формы - это та же страница, есть переменная состояния, такая как «stage = 1», и вы используете JavaScript, чтобы добавить набор скрытых переменных для любого дополнительного состояния это необходимо.

    ... Проверка и обработка состояния PHP на разных этапах ...

    ... один или несколько блоков HTML для страницы (PHP, если / можно использовать для выбора между несколькими просмотрами страницы) ...

Изменить для добавленных ограничений:

  1. Попросите, чтобы страница 2 использовала postback или AJAX для сбора дополнительной информации
0 голосов
/ 02 июля 2019

Я нашел несколько способов сделать это.

  1. Обновите базу данных (или какое-либо хранилище данных, зависит от требований безопасности) и просмотрите страницу №1 для прослушивания событий с отдельной страницы (на том же сервере, что и база данных). Очень похоже на то, как работает система мгновенных платежей PayPal (IPN). На самом деле я также смог настроить отправленные сервером события.

По сути, Страница № 1 отправляет данные на Страницу № 2, где пользователь будет выполнять функцию, а затем Страница № 2 будет отправлять данные POST слушателю где-либо (либо на том же сервере, либо на сервере Страницы № 1), слушатель будет обновите базу данных, и страница # 1 будет прослушивать или извлекать обработчик событий, который отправит обновление после обновления базы данных.

  1. Использовать функции дочернего / родительского окна JavaScript. Это нормально, если Страница № 1 и Страница № 2 находятся на одном и том же сервере, но могут запутаться и браузеры имеют множество ограничений, и это зависит от браузера.

Страница № 1 откроет Страницу № 2 в дочернем окне, после того как пользователь выполнит функцию, Страница № 2 вызовет функцию, которая принимает данные результата на Странице № 1.

0 голосов
/ 19 июня 2019

Вы хотите это с PHP или любым другим языком. Если вы используете Php на стороне сервера, вы можете использовать глобальные переменные, такие как $ _GET и $ _POST.

Страница № 1: Используйте метод Post / Get для отправки данных на вторую страницу.

Страница № 2: Получить значения всех полей с помощью переменных Globe ($ _GET и $ _POST). Вы можете использовать эти значения в качестве значений по умолчанию для полей формы. Теперь отправьте эти данные на страницу 1, используя метод post или get.

Вернуться на страницу № 1: Здесь вы получите данные первой страницы со второй страницы и недавно опубликованные данные со страницы 2

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