繁体   English   中英

AJAX:为什么我的javascript没有加载内容?

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

这是我第一次使用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);
        }
    });
}

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

您可以检查Chrome的网络监视器吗? 首先,什么东西会得到404? 文件实际上是second.html吗? 如果是这样,那应该不会有路径问题。 接下来,该项目出现的“响应”是什么? 这个回应看起来还好吗?

接下来,为什么不尝试在第二页中将JS从头部移到正文中? 出于性能方面的考虑,JS应该始终在结束body标签之前。 另外,JS可能存在问题,因此无法执行。

您应该能够通过AJAX加载域中的任何内容,而不会出现任何问题,但是要提防路径问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM