Safari中没有发生$ .post调用
我面临着一个奇怪的问题。 关闭完整的safari浏览器时,我需要使用jquery post调用一个函数。 但是这不是在关闭safari浏览器时调用的。 但是美女在所有其他浏览器中都有效。
以下是我的代码,
window.onbeforeunload = confirmExit; function confirmExit() { $.post("test.php"); }
请在safari中进行这项工作。
谢谢,Dinesh Kumar Manoharan
这可能是因为您正在进行异步发布,并且Safari在发出请求之前停止运行JavaScript(由于页面被卸载)。 尝试使用$.ajax
而不是$.post
并将async
设置为false
来阻止呼叫。 像(未经测试)的东西:
function confirmExit() { $.ajax({ 'async': false, 'type': 'POST', 'url': 'test.php' }); }
根据Mozilla MDC ,window.onbeforeunload不会在Safari中返回任何内容,因此请根据上面链接的示例修改代码。
这里还有另一个关于此问题的线索。 希望能帮助到你。