繁体   English   中英

页面完成加载后如何发出AJAX请求,该请求由window.location.href触发

[英]How to make an AJAX request when page finishes loading, that is triggered by window.location.href

我有一个这样的事件监听器

function navBtn() {
$('#navBtn').on('click', (event) => {
    window.location.href = 'someotherfile.html';
    myAJAXrequest();
})
}

似乎存在的问题是,由于事件侦听器是单击,因此它们都会被触发。 但是,当我发送到另一页时,AJAX请求从未发生。 不知道如何通过单击按钮重定向到另一个页面,当该页面具有使用AJAX调用添加的内容时,则不会发生。 有没有一种方法可以在触发AJAX之前检查我要引导的新页面是否首先加载?

您可以使用setTimeout函数,它将延迟重定向一段时间,并在该时间内执行ajax。 这是示例代码。

function navBtn() {
        $('#navBtn').on('click', (event) => {
            myAJAXrequest();
            setTimeout(function () {
                window.location.href = 'someotherfile.html';
            }, 3000)
        })
    }

在这里,我给了3秒的延迟,您可以根据需要增加或减少延迟。

尝试使“ myAJAXrequest()”异步函数

async function myAJAXrequest(){}; 

function navBtn() {

$('#navBtn').on('click', (event) => {

    await myAJAXrequest();

    window.location.href = 'someotherfile.html';  
})
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM