If a GET request is made as follows
$(window).bind('beforeunload', function() {
// GET request
});
and the page is abandoned before the GET request is completed,
will the destination server still process the request? Or will it somehow vanish?
I would like to send a server data on beforeunload
firing, but without stealing useless ms from the user.
It would be very useful if someone could help me.
If you want to show confirmation dialog before user leaves or reloads the page, you can use Javascript onbeforeunload() event attribute. When unload event fires, it shows a prompt asking whether user wants to leave or reload the page.
The beforeunload event is fired when the window, the document and its resources are about to be unloaded. The document is still visible and the event is still cancelable at this point. This event enables a web page to trigger a confirmation dialog asking the user if they really want to leave the page.
If it is an asynchronous request then the server may process it (if it receives the request) but I don't know if you can guarantee that the request will go through before the page is unloaded or if it will be processed - this may depend on the actual web server (someone else may have more information). If you make a synchronous request, the page will wait until the request goes through and it gets back a response (so in this case, processing is guaranteed). However, this means that your browser will be locked up until that request completes, which may not be desirable.
In most cases yes, but it depends on the web application server. Some can detect the disconnect and stop with the request.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With