[英]Partially refreshing site not working
我正在尝试刷新我的网站的一部分(左侧部分,其中显示了包含主题的列表),但它对我不起作用。 如果单击刷新按钮,我会在左侧部分看到一个非常奇怪的屏幕。 我使用的脚本是这样的:
$(function() {
$("#refresh").click(function(evt) {
$(".bgleft").load("left.php")
evt.preventDefault();
})
})
我得到的奇怪的屏幕是一个白色的空白屏幕,上面有一个随机文本(不存在)。 我不明白为什么会这样。 有关实例:转到(已编辑 )并单击左框中的“刷新”。
编辑:
HTML代码段: <body class="bgleft">
在left.php中有两行显示theese字符的代码。
for(var n = 1; n < 7; n++)
document.write(String.fromCharCode(Math.round(Math.random()*25)+97));
尝试删除它们,它应该有所帮助。
另外,在其他答案中也很难过,只发送<body>
内容作为响应,因为脚本已经包含在站点中。
在进行部分更新时发送完整的HTML页面通常不是一个好主意。 如果你看看你的left.php产生了什么,那就是你在iframe中使用的完整页面(包含<html>
标签和所有内容)。
创建一个仅呈现left.php正文的页面,并将其用于部分更新。 或者在这里查看如何刷新iframe。
PS:框架集无可救药地被弃用,并且在设计,动态/ javascript功能和未来可扩展性方面确实受到限制。 考虑不使用它们......
你怎么在当前的BODY
标签内加载相同的页面HTML
, HEAD
, BODY
?
$(function() {
$("#refresh").click(function(evt) {
evt.preventDefault();
$(window.top.window).find('frame[name=left]').reload();
})
})
您应该只获取要更新的内容,而不是整个页面。 目前,整个页面正在被提取,包括html
, body
甚至script
标记。 由于这个原因,jQuery和其他脚本也会再次加载。 这可能会在以后引起重大问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.