我必须在用户尝试离开时执行代码只是对服务器的简单调用,通知必须删除文件,它不会做出任何响应,但系统不会调用。
$(window).unload(function(){
alert(1)
window.key = document.getElememtsByTagName('body')[0].getAttribute('key');
catcher('clearBt');//The catcher makes the AJAX call like i show below.
});
//This is the call to the server.
phone.open(method, address, true);
phone.setRequestHeader("Content-type", 'application/x-www-form-urlencoded');
phone.send(reqStr);
我尝试使用onbeforeunload但结果是一样的......
答案 0 :(得分:1)
很好,我和Magento Checkout有同样的问题。我这样解决了
var responseCancel= jQuery.ajax({
url:'<?php echo Mage::getBaseUrl() . 'checkout/onepage/callWsCancelOrder'; ?>',
cache: false,
async: false
}).responseText;
谢谢
答案 1 :(得分:0)
AJAX默认是异步的,将以文档卸载结束。尝试将其作为同步调用运行。
您必须将其更改为
phone.open(method, address, false /*synchronous*/);
页面应该等待请求完成。