ColdFusion - переменные формы пустые после отправки формы - PullRequest
0 голосов
/ 11 октября 2018

Мой вопрос относится к следующему вопросу / ответу, представленному в этом сообщении stackoverflow: Переменные формы не отображаются после отправки формы.ColdFusion

Я хотел бы прокомментировать в приведенном выше посте, но у меня недостаточно репутации.Я вижу ответ Сэмюэля Дили выше, указывающий, что использование cflocation или location.replace () может привести к тому, что переменные формы не будут отображаться.Это именно то, что происходит в моем сценарии.

У меня есть простая форма регистрации заявки.После отправки формы данные формы отправляются на страницу с именем addCampaign.cfm.addCampaign.cfm содержит код, который будет записывать регистрационные данные в базу данных.После записи информации о регистрации в базу данных, я проверяю, что информация была записана в базу данных.На этом этапе я затем перенаправляю пользователя на определенную страницу, если регистрация прошла успешно, а если не удалась, то перенаправляю обратно на страницу формы регистрации с соответствующим сообщением об ошибке.

Я попытался использовать оба для перенаправления,и попытались использовать javascript location.replace (), оба привели к одной и той же проблеме.

Проблема, с которой я сталкиваюсь, заключается в следующем:

1) Перенаправление никогда не происходит

2) Я использую для отображения структуры, но она перечисляет ее как пустую

3) Я удалил cflocation и location.replace () и могу убедиться, что мои элементы формы существуют в структуре формы.

4) Данные формы записываются в базу данных, что очень странно, учитывая, что структура формы отображается как пустая.

Я не понимаю, почему структура формыпусто, когда данные записываются в базу данных, и, кроме того, я не знаю, почему не работает перенаправление.Кто-нибудь может дать некоторые разъяснения, почему это происходит?

1 Ответ

0 голосов
/ 11 октября 2018

Рассмотрите этот код в одном файле

<cfif cgi.request_method EQ "post">
    <cfdump var="#form#">

    <!--- More importantly, DB inserts --->
</cfif>



<form method="post" action="?">
  <!--- Lots of other fields go here too --->

  <input type="submit" name="btnSubmit" id="btnSubmit" value="OK" />
</form>

Если вы делаете это таким образом, вам не нужно беспокоиться о том, что данные будут перенаправлены каким-либо образом.Вы уже на той странице, которую хотите.action="?" в основном означает отправить в то же поле, что и я.Обратите внимание, что поведение файла отличается на GET против POST.

...