假设单击按钮时进行一些页面重定向:
git init
问题是<div onClick="clickButton"></div>
function clickButton(href) {
// here is an http post request, has no callback or then or done function
sendSomeRequest()
location.href = 'https://www.google.com'
}
的请求会在我看到网络时被取消,有没有比trackAjax
更好的方法了?
我的setTimeout
也没有回调或类似的功能,可以将其视为事件跟踪功能。
答案 0 :(得分:0)
最好的解决方案是编辑sendSomeRequest
以返回$.post()
创建的jqXHR
对象。
function sendSomeRequest() {
return $.post('user/track')
}
然后您可以将您的重定向链接到它
sendSomeRequest().then(() => {
location.href = 'https://www.google.com'
})
如果您无法或不愿意编辑sendSomeRequest()
,则可以添加一个全局"AJAX complete" handler。
$(document).ajaxComplete(() => {
location.href = 'https://www.google.com'
})
sendSomeRequest()