Ich hatte die Idee, die Sitzungen meiner Benutzer am Leben zu erhalten, indem ich einen Webservice-Aufruf sende, eine Zeitüberschreitung für eine bestimmte Zeitspanne (etwa 15 Minuten oder so) einstelle und dann dieselbe Methode erneut aufrufe.
Das Problem ist, dass der Webservice ständig zu funktionieren scheint. Nicht alle 15 Minuten, wie ich dachte.
Einen Link finden Sie hier: Geige
Code hier:
(function($, window, document, undefined) {
"use strict";
var methods,
settings,
timeout,
type = 'sessionPing';
methods = {
init: function () {
settings = { time: 5000};
methods.request.call(this);
},
request: function () {
console.log('just before clear' + timeout);
clearTimeout(timeout);
$.ajax({ type: 'POST',
url: '/echo/html/',
data: {
'html': 'Echo!'
},
success: function(data) {
timeout = setTimeout(methods.request(), settings.time);
console.log('in success ' + timeout);
},
dataType: 'html'
});
}
};
$.sessionPing = function(method) {
// Method calling logic
if (methods[method]) {
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || !method) {
return methods.init.apply(this, arguments);
} else {
$.error('Method ' + method + ' does not exist on jQuery.timeSince');
}
};
}(jQuery, window, document));
$(function() {
$.sessionPing();
});