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

时间:2019-02-24 11:22:18

标签: javascript jquery html ajax dom

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

尝试使“ myAJAXrequest()”异步功能

VISIBILE