页面加载后的Ajax调用

Ajax call after page load

本文关键字:Ajax 调用 加载      更新时间:2023-09-26

我正在尝试构建一个搜索页面,用户将文本输入到搜索框中,然后根据搜索生成页面。我遇到了时间问题,因为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用于在页面加载上执行代码

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。