2012-01-11 2 views
1

Я пытаюсь реализовать полностью прозрачную систему автосохранения для зарегистрированных пользователей, но застрял в отправке данных на сервер в браузере. Я могу связать некоторую функцию, чтобы выгрузить событие, но я не смог отправить какие-либо данные на сервер (используя jQuery/Ajax).Отправить данные на сервер в браузере закрыть

Можно ли отправлять данные на сервер, когда пользователь закрывает браузер?

P.S. Учитывая, что даже GMail автоматически не сохраняет черновик, но предупреждает о возможной потере данных, считая, что задача довольно сложная ...

+0

Вы можете сохранить документ автоматически при вводе пользователя. как в документах google. –

ответ

2

Установите вызов AJAX синхронно. асинхронный вызов позволит браузеру двигаться до завершения операции.

$.ajaxSetup({ async : false }) 

обратите внимание Междоменное и JSONP вызовы не поддерживают синхронные вызовы $.ajax

2
$(window).unload(function() { 
     $.ajax({ 
     url: yourUrl, 
     type: "POST", 
     data: "value1=value", 
     cache: true, 
     success: function(response){ 

     } 
     }); 
    }); 

вы также передать несколько данных в Params данных, таких как «value1 = значение & значение2 = значение» и {yourUrl} является относительный или абсолютный URL

+0

Знаете ли вы, что это будет работать, даже когда браузер закрывается? – jfriend00

+0

Кажется, вам нужно забыть о событии onunload, если вы хотите создать trully cross-browser appliction, из-за Opera. Грустный(( –

Смежные вопросы