簡體   English   中英

頁面加載后的Ajax調用

[英]Ajax call after page load

我試圖建立一個搜索頁面,用戶在其中輸入文本到搜索框中,然后根據搜索結果生成頁面。 我遇到時間問題,因為在JS嘗試編輯頁面上的值后,正在加載空白搜索頁面。

$.ajax({
    type: 'GET',
    url: '/index.php/content/generate_search',
    data: {
        search: input.val()
    },
    beforeSend: function() {
        window.location.href = '/index.php/content/search';
    },
    success: function() {
        $('.hero h1').text(input.val());
    }
});

為了檢查DOM是否已完全加載,必須考慮所有瀏覽器完成許多步驟。 (我無法在jQuery源代碼中找到實現,但是我將返回一個鏈接)。

因為您已經在使用jQuery,所以最簡單,可能也是最好的方法是:

$( function() {
    // your code here
} );

這是的簡寫

$( document ).ready( function() {
    // your code here
} );

編輯

好的,正如我所答應的,我返回了document.ready的實現。 您可以在GitHub上找到它。 是指向文件當前版本的永久鏈接。

嘗試這個:

$(document).ready(function(){
 //Your  code
});

onload用於在pageload上執行代碼

window.onload = function() {
  // your code
};

這段代碼:

 beforeSend: function() { window.location.href = "/index.php/content/search"; }, 

…導致瀏覽器在發送Ajax請求之前離開頁面並加載新頁面

因此,Ajax請求被取消。 如果沒有,那么就不會有JavaScript等待接收響應。

如果要訪問/index.php/content/search然后啟動Ajax請求,則啟動Ajax請求的JavaScript必須在/index.php/content/search 您剛離開的頁面無法在下一頁上運行JavaScript。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM