Задать вопрос
@gastomania

Проблема с openresty и POST запросом?

Есть вот такая переменная:

local VariableA = test_function()

Допустим, в ней сейчас значение 10. которое вернула функция.

Вывожу на странице, html форму и содержимое VariableA:

ngx.say(html_output)

Вроде бы все прекрасно.

Но когда отправляется POST форма

if ngx.req.get_method() == "POST" then
ngx.req.read_body()
ngx.say("variable value: ", VariableA)
end

и я сравниваю значение с тем что отправил клиент с VariableA, то клиент отправляет нормальное значение, которое ему показалось на странице, допустим 10.
А у меня в POST уже значение 20 с переменной которую сравниваю.

Как это побороть?
Я понимаю, что скрипт обновляется и происходит заново подтягивание переменных.
Но разве оно не должно в памяти хранить это значение? Пока еще POST не выполнился как в Python.
  • Вопрос задан
  • 92 просмотра
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 1
monochromer
@monochromer
DIVeloper
Попробуйте создать глобальную переменную в блоке `init_by_lua` или в `init_by_lua_block`:

init_by_lua_block {
    VariableB = demo_generator()
  }


или сохраняйте переменную в hidden-поле или cookie при генерации html.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы