xhrPost.js

function xhrPost(url, params, callback) { var req = new XMLHttpRequest(); req.onerror = function() { setTimeout(function() { xhrPost(url, params, callback); }, 1000); }; req.onreadystatechange = function() { if (req.readyState == 4) { if (callback && typeof callback === 'function') { callback(); } } }; req.open('POST', url, true); req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); req.setRequestHeader('Content-Length', params.length); req.send(params.join('&')); }
As you can see in this example, we do nothing if the post fails. This is usually fine when XHR is used to capture broad user statistics, but if it’s crucial that the data makes it to the server, you can add code to retry on failure:

Be the first to comment

You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.