我正在尝试在“beforeunload”事件上对服务器进行 JSONP 调用。在我开始使用后退按钮之前,这一切都很好。如果我离开页面然后在下次调用 beforeunload 事件时按“返回”,它似乎发出 JSONP 请求,但服务器从未收到它。
注意(1):这已经在 IE 和 FF 上测试过(问题出现在两者上)。
注意(2):我也使用 jQuery.getJSON 方法进行了测试,它有同样的问题,所以我认为 makeJSONPCall 函数是正确的。(我可能是错的)
有什么想法吗?
一些上下文代码:
JSONP 调用:
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);
}
谢谢