【问题标题】:How to refresh <iframe> using Ajax?如何使用 Ajax 刷新 <iframe>?
【发布时间】:2016-02-06 15:31:37
【问题描述】:

我想使用 AJAX 刷新此链接 http://radiojoven.6te.net/capas.php。我一直在尝试,但无济于事。这是我到目前为止所拥有的:

<script>
function checkRequest() {
    var interval = setTimeout(function () {
        $.ajax({
            url: "http://radiojoven.6te.net/capas.php",
            type: "post",
            datatype: "html"
        })
            .done(function (msg) {
            $("capas").html(msg);
        })
            .always(function () {
            checkRequest();
        });
    }, 20000);
}
</script>

我计划更新的 iframe:

<div id="capas"><iframe src="http://radiojoven.6te.net/capas.php"
     width="1000px" height="300px" border="0" marginwidth="0"
     marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="no"></iframe></div>

如果有人能帮助我完成这项工作,我将不胜感激。

已经谢谢你了。

【问题讨论】:

  • $("capas").html(msg); 缺少# 符号$("#capas").html(msg);# 用于“id”。检查你的控制台。
  • 如果内容在 iframe 中,为什么还要使用 AJAX?你可以reload() 框架。
  • ...或.load() api.jquery.com/load

标签: javascript php jquery ajax iframe


【解决方案1】:

我建议将iframe 全部删除,只使用AJAX

它从不更新的原因是capas div 没有被正确引用。

你需要$("#capas").html(msg); // 注意#是指元素的ID。

作为附加说明,您似乎没有向服务器发布任何数据,因此您最好使用HTTP GET 而不是HTTP POST

【讨论】:

  • @Fred-ii- - 太好了,您应该将其发布为答案。我还包括了一些额外的建议。
  • 我没有费心把它作为答案发布,因为这是一个错字(我投票决定关闭这个问题)而且我 99% 的时间都不会发布答案(错别字),只有当 OP 明确要求我这样做时,在这种情况下他们很可能不会;他们几乎从不这样做;-)
  • @Darren Davies 一直在分析答案,提前感谢大家,甚至把代码改成$("#covers") html (msg)。;如果我想用你必须做的 AJAX 更新案例,它不会更新 iframe 我吗?
【解决方案2】:

它应该看起来像这样。请注意,我将您的 iframe 更改为 div

<script type="text/javascript">
function Ajax(){
var xmlHttp;
    try{    
            xmlHttp=new XMLHttpRequest();
    }
    catch (e){
            try{
                    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); 
                   }
            catch (e){
                try{
                            xmlHttp=newActiveXObject("Microsoft.XMLHTTP");
                    }
                    catch (e){
                            alert("No AJAX!?");
                            return false;
                    }
            }
    }

xmlHttp.onreadystatechange=function(){
        if(xmlHttp.readyState==4){
            document.getElementById('capas').innerHTML=xmlHttp.responseText;
            setTimeout('Ajax()',10);
    }
 }
            xmlHttp.open("GET","http://radiojoven.6te.net/capas.php",true); 
     // aqui configuramos o arquivo
     xmlHttp.send(null);
 }

     window.onload=function(){
          setTimeout('Ajax()',10); 
       // aqui o tempo entre uma atualização e outra
     }
     </script>

     <div id="capas"></div>

【讨论】:

猜你喜欢
  • 2015-07-20
  • 2011-07-21
  • 2014-04-23
  • 2011-01-05
  • 2012-04-03
  • 2017-12-14
  • 2012-02-10
  • 2012-11-01
  • 2011-09-14
相关资源
最近更新 更多