簡體   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