Пересылка данных POST - PullRequest
       22

Пересылка данных POST

0 голосов
/ 09 июля 2009

У меня есть веб-сайт, на котором есть форма, которую может ввести пользователь. Я хочу, чтобы она была заменой формы стороннего веб-сайта (Autotask) с теми же полями. Обычно мне просто нужно, чтобы действие в моей форме переместилось туда, куда указывает сторонняя форма, а затем все те же значения идентификатора / имени для моих собственных полей, но с этим есть несколько проблем:

Формы Autotask - это не просто мультипольные формы. Они импортируют как минимум 15 Javascript, которые делают что-то волшебное и неопознаваемое, и их невероятно трудно читать и понимать. Таким образом, возникают две проблемы: одна - загрузка формы занимает очень много времени (5 секунд или около того для 4 полей), а вторая - то, что если Autotask вообще что-то изменит, мне потребуется повторить всю форму (очень утомительно и crapshoot-у, а мне уже нужно было сделать это дважды).

Чтобы сделать время загрузки более прозрачным, я поместил свою копию формы Autotask в iFrame. Таким образом, остальная часть веб-сайта может загружаться отдельно от дорогостоящего количества скриптов, которые я должен включить в процесс входа в Autotask.

В идеале я хочу иметь на своем сайте эти 4 поля с любым именем и конфигурацией, которые мне нужны, а затем отправлять эти данные POST в мой собственный скрипт PHP, который автоматически (и прозрачно) отправит данные непосредственно через формы Autotask в соответствующих полях. Если мне нужно, чтобы идентификатор / имя совпадали, это нормально. Я могу использовать HTML, Javascript и PHP на этом сайте.

EDIT: Autotask имеет встроенные обработчики GET для своих имен входа. Вы заметите, что у вас есть идентификатор клиента при входе в систему (это будет переменная "ci" в URL). Если вы отправите запрос GET с идентификатором клиента и переменными для «имени пользователя» и «пароля», то страница входа в систему Autotask немедленно перенаправит вас на страницу клиента при условии успешного входа в систему.

Ответы [ 5 ]

3 голосов
/ 09 июля 2009

Я думаю, что многие вообще посоветовали бы против этого, поскольку вы как бы взламываете функциональность чужого приложения. В этом случае я советую только против этого, потому что они (Autotask) уже имеют API, обращенный наружу. http://www.autotask.com/press/news_and_press_releases/071006.htm

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

0 голосов
/ 20 августа 2009

В качестве продолжения выясняется, что в Autotask есть обработчики GET, поэтому вы можете просто отправлять информацию через GET. Проблема решена.

0 голосов
/ 09 июля 2009

Формы Autotask - это не просто многопольные формы. Они импортируют как минимум 15 Javascript, которые делают что-то волшебное и неопознаваемое, и их невероятно трудно читать и понимать.

Для меня это звучит как антиспам меры? Если это так, то они, вероятно, со временем изменятся.

Итак: следуйте совету NateDSaint !

0 голосов
/ 09 июля 2009

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

0 голосов
/ 09 июля 2009

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

Таким образом, вы не тратите время на загрузку встроенного контента и не очищаете свою страницу от начальной загрузки страницы, и они меняют идентификаторы / имена, которые вы всегда будете обновлять.

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