Очень простой вопрос относительно отправки jQuery

#javascript #jquery

#javascript #jquery

Вопрос:

В принципе, я хотел бы выполнить отправку формы при перезагрузке.

Итак, у меня есть следующий код:

 $('form').submit(function() {
     $(window).unbind("beforeunload");
});

$(window).bind("beforeunload", function() {
     $('#disconnectform').submit();
});
  

В принципе, я хочу, чтобы disconenctform отправлялся только при перезагрузке, а не при отправке. Однако, $('#disconnectform').submit() похоже, что форма не работает. Есть идеи, почему? Как я могу достичь того, чего я хочу?

Комментарии:

1. Чего вы на самом деле пытаетесь здесь достичь? Привязка обработчика событий к window.unload для отправки формы кажется немного халтурной.

2. @Andrew Whitaker Я в основном хочу предупредить сервер, чтобы он аннулировал сеанс, когда пользователь перезагружает браузер или выходит из него.

Ответ №1:

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

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

Удачи
-tjw

Ответ №2:

Если вы действительно хотите достичь этого, используйте плагин jquery cookie. Затем при загрузке страницы запустите функцию, если установлен файл cookie. 🙂

http://plugins .jquery.com/node/1386/release