[英]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.