如何将ajax响应加载到iframe而不是div?

时间:2013-02-13 22:21:52

标签: javascript jquery ajax iframe

我正在加载对div的ajax响应,但现在我想将它加载到中间iframe我尝试了以下但它永远不会工作!你能告诉我我做错了吗?感谢

<script type="text/javascript">// <![CDATA[

    $(document).ready(function() {
    $.ajaxSetup({ cache: false }); 
    setInterval(function() {
    //$('#divToRefresh').load('./doit.php');

    $("#iframe").attr('blank.php','./doit.php'); //change url
    }, 20000); 
    });
    // ]]></script>


<iframe name="top" src="blank.php" id="top"  scrolling="no" noresize frameborder="0" marginwidth="0" marginheight="0" width="100%" height="79"></iframe>
<iframe NAME="middle" src="blank.php" id="middle" noresize frameborder="0" marginwidth="0" marginheight="0" width="100%" height="238" scrolling="auto"></iframe>
<iframe NAME="foot" src="blank.php" id="foot"  scrolling="no"  noresize frameborder="0" marginwidth="0" marginheight="0" width="100%" height="200"></iframe>


<div id="divToRefresh">Loading ...</div>

2 个答案:

答案 0 :(得分:1)

attr用于替换属性,您没有说明要替换哪个属性,而是说明该属性的值

应该是这样的:

$("#middle").attr('src','./doit.php'); //change url

然而,这不是ajax ...这是简单的iframe技术 换句话说$ .ajaxSetup({cache:false});在这种情况下不使用。

答案 1 :(得分:0)

您的ajax通话错误或不完整。如果你想使用ajax获取数据;你应该阅读jQuery.ajax() documentation。但首先, thisthisthis

另请阅读.attr() documentation。第一个参数应该是属性名称,第二个参数应该是值。

但;看起来您想要在iframe中重定向该页面 如果是这种情况,您的选择器应为#middle

$("#middle").attr("src", "./doit.php");

你也可以通过链接(没有jQuery或javascript)这样做:

<a href="./doit.php" target="middle">Do It!</a>