AJAX:为什么我的javascript加载内容不是?

时间:2012-08-30 22:10:55

标签: javascript jquery ajax

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

你能检查一下chrome的网络监视器吗?首先,有什么东西可以获得404吗?该文件字面上是second.html吗?如果是这样,那么就不应该存在路径问题。接下来该项目的“响应”是什么?该回复看起来不错吗?

接下来,为什么不尝试将JS从头部移动到第二页的主体?出于性能原因,JS应始终在关闭正文标记之前。此外,JS可能存在问题,因此没有被执行。

您应该可以通过AJAX在域上加载任何内容而不会出现任何问题,但是需要注意路径问题。