Можно ли заполнить форму Ajax программно с помощью php? - PullRequest
0 голосов
/ 13 января 2010

Я использую php для заполнения формы. Теперь, случается, что форма использует ajax для многих своих полей.

, например

выберите [страна] (ajax покажет раскрывающийся список, заполненный состояниями для этой страны)

выберите [состояния] (ajax покажет раскрывающийся список, заполненный городами)

выберите [город] (ajax активирует кнопку отправки)

Если это простая основанная на html форма, ее можно легко заполнить cURL. Но что, если форма использует ajax для заполнения раскрывающихся полей.

Спасибо

Ответы [ 2 ]

0 голосов
/ 13 января 2010

Когда вы «заполняете» форму curl, вы фактически размещаете данные, которые были бы напечатаны / введены в форму.

Нет необходимости выполнять запросы Ajax, так какПока вы знаете, какие данные вы должны использовать.


Итак, решение будет следующим:

  • Начните с получения списков данных (используянапример, форму в браузере)
  • Узнайте, как эти данные должны использоваться (соблюдая «нормальный» способ работы формы)
  • Отправка правильных значений с вашим запросом скручивания.


В конце, ваш запрос скручивания должен быть таким же, как и запрос, сделанный браузером при отправке формы - независимо от запросов Ajax, которые отправляются до (они полезны только для получения данных)


Хорошо, если только запросы Ajax не "записывают" что-то на самом делена сервере - но это довольно редко для такой ситуации.

0 голосов
/ 13 января 2010

Если это простая HTML-форма, ее можно легко заполнить cURL

Мне не ясно, что вы имеете в виду здесь. Насколько я знаю, cURL - это инструмент для выполнения HTTP-запросов. Он не может «заполнять формы» (в отличие, например, от WWW :: Mechanize). Я ошибаюсь по этому поводу?

Я думаю, вы имеете в виду: «Если это простая форма на основе HTML, я могу легко создать HTTP-запрос, используя cURL, который отправляет ту же строку запроса или данные POST, что и при использовании браузера». Я собираюсь продолжить это предположение.

Использование Ajax (само по себе) не мешает вам создавать данные формы вручную и отправлять их как обычно. Просто становится немного сложнее понять, какие данные вам нужно предоставить.

Удаленная система может быть реализована таким образом, что она перестанет работать, если вы не запросите все биты данных в правильной последовательности (например, она прекратит работу, если вы предоставите полные данные в конце без запроса списка городов для страны). Акцент на «могуществе», это не будет разумным способом реализации системы.

Вы также можете сделать несколько запросов с помощью cURL, чтобы вы могли получить список городов (и любые идентификаторы, которые могут быть с ними связаны) и получить к ним программный доступ.

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