J'essaye de faire un appel JSONP à un serveur sur l'événement 'beforeunload'. Tout cela fonctionne bien jusqu'à ce que je commence à jouer avec le bouton de retour. Si je navagate loin de la page et que j'appuie sur 'retour' la prochaine fois que l'événement beforeunload est appelé, il apparaît qu'il fait la requête JSONP mais le serveur ne la reçoit jamais.JSONP + onbeforeunload + bouton Précédent + Problèmes
Note (1): Ceci a été testé sur IE et FF (problème apparaissant sur les deux).
Note (2): J'ai aussi testé en utilisant la méthode jQuery.getJSON et j'ai eu le même problème donc je suppose que la fonction makeJSONPCall est correcte. (Je peux me tromper)
Des idées pour quelqu'un?
Une partie du code pour le contexte:
JSONP APPEL:
makeJSONPCall('http://serverurl.mvc/method?args=' + data, 'callbackfunction');
function makeJSONPCall(url, callbackname)
{
if (url.indexOf("?") > -1) url += "&jsonp="
else url += "?jsonp="
url += callbackname + "&";
url += new Date().getTime();
var script = document.createElement("script");
script.setAttribute("id", "JSONP");
script.setAttribute("src",url);
script.setAttribute("type","text/javascript");
if (document.head) document.head.appendChild(script);
else document.body.appendChild(script);
}
Merci
Merci pour la réponse rapide Chris. Malheureusement, étant un script d'utilité publique, je ne peux pas aller mettre des alertes dans les pages des peuples. Je ne pense pas qu'il y ait une solution ici car il n'y a aucun moyen pour moi d'attendre dans l'événement beforeunload jusqu'à ce que je reçoive la réponse du serveur. Merci quand même – gatapia