这是我第一次使用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);
}
});
}
答案 0 :(得分:0)
这是因为ajax页面只返回呈现的内容,但不像普通页面那样运行。你可以在ajax页面上使用PHP,例如,服务器渲染它然后发送它,因为PHP是预渲染的,javascript在页面渲染后运行,据我所知。
答案 1 :(得分:0)
你能检查一下chrome的网络监视器吗?首先,有什么东西可以获得404吗?该文件字面上是second.html吗?如果是这样,那么就不应该存在路径问题。接下来该项目的“响应”是什么?该回复看起来不错吗?
接下来,为什么不尝试将JS从头部移动到第二页的主体?出于性能原因,JS应始终在关闭正文标记之前。此外,JS可能存在问题,因此没有被执行。
您应该可以通过AJAX在域上加载任何内容而不会出现任何问题,但是需要注意路径问题。