Как я перезагружаю страницу без предупреждения POSTDATA в JavaScript?

Правила - никогда больше не используйте одну точку

- одну точку

var range = ((Range)xlWorksheet.Cells[rowIndex, setColumn]);
var hyperLinks = range.Hyperlinks;
hyperLinks.Add(range, data);

- Две или более точки

 (Range)xlWorksheet.Cells[rowIndex, setColumn]).Hyperlinks.Add(range, data);

- - Пример

 using Microsoft.Office.Interop.Excel;

 Application xls = null;
 Workbooks workBooks = null;
 Workbook workBook = null;
 Sheets sheets = null;
 Worksheet workSheet1 = null;
 Worksheet workSheet2 = null;

 workBooks = xls.Workbooks;
 workBook = workBooks.Open(workSpaceFile);
 sheets = workBook.Worksheets;
 workSheet1 = (Worksheet)sheets[1];


// removing from Memory
 if (xls != null)
 {    
   foreach (Microsoft.Office.Interop.Excel.Worksheet sheet in sheets)
   {
      ReleaseObject(sheet);
   }

   ReleaseObject(sheets);
   workBook.Close();
   ReleaseObject(workBook);
   ReleaseObject(workBooks);

   xls.Application.Quit(); // THIS IS WHAT IS CAUSES EXCEL TO CLOSE
   xls.Quit();
   ReleaseObject(xls);

   sheets = null;
   workBook = null;
   workBooks = null;
   xls = null;

   GC.Collect();
   GC.WaitForPendingFinalizers();
   GC.Collect();
   GC.WaitForPendingFinalizers();
}
64
задан Sam Hasler 14 November 2009 в 19:12
поделиться

4 ответа

Просто изменение window.location в JavaScript опасно , потому что пользователь мог все еще совершить нападки кнопка "Назад" и повторно отправить сообщение, которое могло иметь неожиданные результаты (такой как дублирующаяся покупка ). PRG является намного лучшим решением

Использование Отправление/Перенаправление/Получение (PRG) шаблон

Для предотвращения этой проблемы, много веб-приложений используют шаблон PRG — вместо того, чтобы возвратить страницу HTML непосредственно, операция POST возвращает команду перенаправления (использующий код ответа HTTP 303 (иногда 302) вместе с заголовком ответа "Местоположения" HTTP), давая браузеру команду загрузить другую страницу с помощью HTTP-запроса GET. Страница результатов может затем безопасно быть отмечена или перезагружена без неожиданных побочных эффектов.

59
ответ дан Sam Hasler 24 November 2019 в 15:37
поделиться

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

Вы могли повторно перейти к той же странице с новой сессией путем выполнения:

window.location = window.location.href;
114
ответ дан Rex M 24 November 2019 в 15:37
поделиться

Если Вы на этапе, где Вы закончены с данными сообщения и просто хотите просмотреть страницу снова заново, Вы могли просто использовать window.location и даже возможно, добавить случайную строку как парамать запроса для гарантии новой версии страницы.

2
ответ дан AJM 24 November 2019 в 15:37
поделиться

Если вы используете ] GET вместо POST , тогда мы не сможем заполнить значения формы. Если вы используете window.opener.location.href = window.opener.location.href; , тогда мы можем запустить базу данных и получить значение, но единственное, что это JSP - это не обновляется даже несмотря на то, что скрипт имеет значения формы.

-2
ответ дан 24 November 2019 в 15:37
поделиться
Другие вопросы по тегам:

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