AJAX:为什么不是't我的javascript与内容一起加载

AJAX: why isn't my javascript loading with the content?

本文关键字:javascript 加载 一起 我的 为什么不 AJAX      更新时间:2023-09-26

这是我第一次使用AJAX。当点击链接时,我试图加载我的一个页面(我知道我可以只做<a href="something.html">,但我这样做只是为了使用AJAX,遇到了一个问题,我的页面加载了,但页面的javascript没有。这是AJAX的正常后果吗?我猜这与dataType: html有关?下面是我的代码:

function getContent(filename) {
    $.ajax({
        url: filename,
        type: "GET",
        dataType: "html",
        beforeSend: function(){
            $('html').html('<img src="../images/loading.gif">');
        },
        success: function (data, textStatus, xhr) {
            if (filename == "second.html") {
                setTimeout(function (){
                    $('html').html(data);
                }, 2000);
            } else {
                $('html').html(data);
            }
        },
        error: function(xhr, textStatus, errorThrown) {
            $('html').html(textStatus);
        }
    });
}

你能检查chrome的网络监视器吗?首先,有什么能得到404分吗?该文件的字面意思是second.html吗?如果是这样,那么就不应该存在路径问题。接下来,该项目的"响应"是什么?这种反应看起来还好吗?

接下来,为什么不尝试将JS从头移到第二页的正文中呢?出于性能原因,JS应该始终位于结束正文标记之前。此外,JS在头中可能存在问题,因此它没有被执行。

您应该能够通过AJAX在没有任何问题的情况下在域上加载任何内容,但也有路径问题需要注意。

这是因为ajax页面只返回渲染的内容,而不像正常页面那样运行。例如,您可以在ajax页面上使用PHP,服务器渲染它,然后发送它,因为据我所知,PHP是预渲染的,javascript在页面渲染后运行。