我需要在页面A.php中加载6个iframe。这6个iframe的内容是6个子页面:a1.php~a6.php。在加载每个子页面之前,我需要先做一个ajax(更改数据库),然后加载子页面。这是问题所在。应逐个加载每个子页面。也就是说,a2.php只能在加载a1.php后加载。如何实现这个功能?因为每个子页面的大小都很大,所以加载需要一点点时间。每次,当a1.php没有被完全加载时,a2.php中的ajax正在工作(所以数据表已被更改)。
非常感谢你,如果你可以帮助我:)
JS:< / p>
function showpic(id,x,y)
{
if (id==0)
{
var oBao = CreateHTTPObject();
var url = "ajax.php";
var sendstring="x="+x;
oBao.open("POST",url,false);
oBao.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
oBao.send(sendstring);
oBao.onreadystatechange = function () { OnReadyStateChng();};
document.getElementById("iframe"+id).src="a.php?y=" +y;
}
else
{
var iid=id-1;
document.getElementById("iframe"+iid).onload=function()
{
var oBao = CreateHTTPObject();
var url = "ajax.php";
var sendstring="x="+;
oBao.open("POST",url,false);
oBao.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
oBao.send(sendstring);
oBao.onreadystatechange = function () { OnReadyStateChng();};
document.getElementById("iframe"+id).src="a.php?y=" +y;
}
}
}
PHP:
for($i=0;$i<2;$i++)
{
for($j=0;$j<3;$j++)
{
$nu=$i*3+$j;
$div="iframe".$nu;
echo "<iframe id='$div' height='400px' frameborder=0 ></iframe>";
echo "<script language='JavaScript'>showpic($nu,$x,$y) ;</script></div>";
}
}
答案 0 :(得分:0)
我很抱歉,但我没有阅读您的代码,但您的解释很清楚。 ajax请求总是有一个回调函数,在那里你将得到你的请求的响应文本。在这个匿名回调函数中,您可以调用另一个开始加载下一个iframe的函数。只需让他们设置框架的src
即可加载。