gpt4 book ai didi

JavaScript - 在重定向之前记录

转载 作者:行者123 更新时间:2023-11-30 13:09:05 25 4
gpt4 key购买 nike

我正在尝试在重定向之前发送一个 ajax 调用(用于记录目的)。实际上,重定向是一个已正确设置八位字节流和配置的下载。所以 ajax 调用不会在所有浏览器(尤其是 chrome)上被调用。在像 IE 这样的其他人中它确实如此。我如何才能确保调用得到执行?

这是代码:

$(function() {
$('#download-link-a').click(function() {
remoteLog ('Clicked on download', '<?php echo $username; ?>' );
location.href = "<?php echo $secure_link; ?>";
return false;
});
});
function remoteLog (arg, key) {
var file = '/files/remoteLog.php';
$.post(file, {text: arg, key: key});
}

最佳答案

您需要使用回调函数在成功的 POST 之后调用重定向。我建议您使用 $.ajax() 而不是 $.post() 因为它更可定制。

以下是如何将 $.post() 转换为具有适当回调函数的 $.ajax():

$(function() {
$('#download-link-a').click(function() {
remoteLog ('Clicked on download', '<?php echo $username; ?>' );
return false;
});
});

function remoteLog (arg, key) {

var fnSuccess = function() {
location.href = "<?php echo $secure_link; ?>";
};

var fnFail = function() {
alert('POST failed. Do not redirect!');
};

$.ajax({
type: 'POST',
url: '/files/remoteLog.php',
success: fnSuccess,
error: fnFail,
data: {text: arg, key: key},
dataType: 'json',
async:true
});
}

更多阅读:jQuery.ajax()

关于JavaScript - 在重定向之前记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14546394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com