Как препятствовать тому, чтобы повторные обратные передачи путали мой бизнес-слой

Я использовал плагин довольно давно. Попробовал конфиг на репо, и да, действительно, он выглядит так, как вы описали. Если вы хотите выглядеть как его снимок экрана, скопируйте вместо него его CodePen , который отличается от его файла readme.

После этого я попытался установить для value of number объекта particle значение 100. Это будет примерно так:

{
  "particles": {
    "number": {
      "value": 100,
      ...
    },
    ...
  },
  ...
}

Обратите внимание, что вы должны учитывать количество частиц до размера его контейнера, так что я не буду заполнен и вызывает падение fps.

6
задан Kate Gregory 27 December 2012 в 04:12
поделиться

5 ответов

Три самых популярных метода (которые часто используются в тандеме):

  1. Отключите кнопки отправки, однажды нажал/нажал;
  2. Используйте POST+REDIRECT+GET для предотвращения проблем кнопки "Назад"; и
  3. История замены в браузере, таким образом, Вы не можете возвратиться (но это должно использоваться экономно и с серьезным основанием).
2
ответ дан 17 December 2019 в 18:20
поделиться

Если бы я должен был быть жестоко честным, то я сказал бы, что это кажется, что Вы - тот, перепутанный веб-обратными передачами, не Вашим приложением (это - то, если Вы - тот, который записал это).;-)

Тем не менее в дополнение к другим предложениям, что я сделал бы в этом случае, место "маркер" в скрытом поле в форме - как GUID - который отправляется назад. Используйте это, чтобы отследить сделанную работу и только позволить ей использоваться однажды. Например, когда отправлено назад, поместите его в устройство хранения данных сессии. Каждый раз обратная передача является выполненной проверкой сессия сначала для этого маркера, и если это там, затем ничего не делают. Если это не там, сохраните его на сессии и сделайте работу. Когда сессия заканчивается, маркеры выброшены автоволшебно. Легкий. Намного лучше, чем некоторый замысловатый маркер базы данных.

  • Oisin
1
ответ дан 17 December 2019 в 18:20
поделиться

Проверьте это управление Ajax ASP.NET, названное Риталином PostBack от человека SO'r Dave Ward.

0
ответ дан 17 December 2019 в 18:20
поделиться
  1. Действительно отключите кнопку отправки, однажды нажатую. Это предотвратит случайный двойной щелчок или больше
  2. Я обычно перенаправляю к другому URL после обратной передачи для предотвращения случайного/намеренного обновления страницы.
  3. Наконец в Вашем DB вставляют метод, проверяют на идентичные данные, вставленные в течение определенного периода времени (вероятно, в секундах) прежде, чем сделать вставку. Если дублирующиеся данные найдены вставленными в течение только секунд (или минуты. независимо от того, что имеет большую часть смысла в Вашей ситуации), покажите предупреждающее сообщение и поразите пользователя, отправляют снова, чувствует ли пользователь, что это не ошибка. (Этот метод имеет большую часть смысла, когда у Вас есть учетная запись пользователя, и пользователь отправляет данные при входе в систему, таким образом, дублирующаяся проверка данных сделана для пользователя.)
0
ответ дан 17 December 2019 в 18:20
поделиться

Я решил проблему написанием javascript, отключающего функциональную кнопку щелчка:

MyButton.Attributes.Add("onclick",
    "javascript:this.onclick=function(){return false;};");
0
ответ дан 17 December 2019 в 18:20
поделиться
Другие вопросы по тегам:

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