繁体   English   中英

部分刷新网站无法正常工作

[英]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标签内加载相同的页面HTMLHEADBODY

$(function() {
    $("#refresh").click(function(evt) {
        evt.preventDefault();         
        $(window.top.window).find('frame[name=left]').reload();
    })
})

您应该只获取要更新的内容,而不是整个页面。 目前,整个页面正在被提取,包括htmlbody甚至script标记。 由于这个原因,jQuery和其他脚本也会再次加载。 这可能会在以后引起重大问题。

暂无
暂无

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

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