如何在我的页面中加载此jquery获取响应中间iframe? php脚本从mysql db加载一些数据?在这种情况下,我没有传递任何数据到PHP所以我需要提出获取或发布请求?我的代码在alert中显示jquery响应,但是没有将它加载到iframe中!
setInterval(function() {
$.ajax(
{
type: 'GET',
url: './getDataFromMySQLdb.php',
//data: $("#myform").serialize(),
data: {
title: 'test',
// wrapper: 'testing'
},
success: function (good)
{
//handle success
alert(good);
$("#middle").attr('src',+good); //change url
},
failure: function (bad)
{
//handle any errors
alert(bad)
}
});
}, 20000);
<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>
答案 0 :(得分:3)
你可以每20秒直接重新加载iframe,不需要$ .ajax():
setInterval(function(){
$("#middle").attr('src', './getDataFromMySQLdb.php');
}, 20000);
但是,我认为最好不要使用iframe。 相反,只需使用具有相同id ='middle'的div,并将结果直接加载到其中:
setInterval(function(){
$("#middle").load('./getDataFromMySQLdb.php');
}, 20000);
答案 1 :(得分:2)
您的AJAX脚本中似乎存在一些错误,但您可以正确使用GET请求。请参阅下面的内容,了解您可能正在寻找的内容。此外,我不明白为什么要将此信息加载到iFrame中?我会把它加载到div中。我可能会完全误解你想要实现的目标,所以下面可能没什么用。
setInterval(function() {
$.ajax({
type: 'GET',
url: '../getDataFromMySQLdb.php',
data: '',
success: function (data){
$("#middleDiv").html(data);
},
failure: function (){
alert('Error message');
}
});
}, 20000);
<div id="middleDiv"></div>