body onload不会触发javascript jquery

body onload does not trigger javascript jquery

本文关键字:javascript jquery onload body      更新时间:2023-09-26

我试图在加载html页面时触发一个函数。为了实现这一点,我正在使用身体负荷。在我看来,这个功能似乎没有被触发。我已经在页面的头部包含了thte-jQuery库,并检查它们是否真的位于它们应该位于的位置。该脚本正在调用一个php文件,该文件每秒都会检查我数据库中的一个vaule。它应该向html页面返回一个状态(响应)。

这是html加载代码:

<body onload="setInterval(check_search_status, 1000)" >  

在页面的最底部,就在主体Close标记之前,我将函数本身定义为javasscript。正如您所看到的,我正试图通过使用会话变量将id参数传递到checksearchstatus.php页面。

<script type="text/javascript">
        function check_search_status(){
            $jQuery.ajax({
                type: 'POST',
                url: 'http://internetsolutions.no/checksearchstatus.php',
                data: {
                    id: '{$_SESSION['owner']}';
                },
                dataType: 'json',
                success: function(response){
                    if(response.status == 0){
                        window.location='http://internetsolutions.no/findings.php';
                    }
                }
            });
        }
    </script>

更改行

$jQuery.ajax({

$.ajax({

除了其他人指出的问题外,我在这里看到了一些问题。

  1. 您正在混合JS和PHP。示例:id: '{$_SESSION['owner']}';。这是不可能的,因为PHP运行服务器端,JS运行客户端(在浏览器中)。你

  2. 我认为您的加载事件应该写为:setInterval(function() {check_search_status();}, 1000);

改为调用$(document).ready()中的函数。您的代码包含语法错误。将$jQuery.ajax更改为$.ajax,将id: '{$_SESSION['owner']}';更改为id: '<?=$_SESSION["owner"]?>'

$(document).ready(function(){
    check_search_status();
});
function check_search_status(){
    $.ajax({
        type: 'POST',
        url: 'http://internetsolutions.no/checksearchstatus.php',
        data: {
            id: '<?=$_SESSION["owner"]?>'
        },
        dataType: 'json',
        success: function(response){
            if(response.status == 0){
                window.location='http://internetsolutions.no/findings.php';
            }
        }
    });
}