我如何加载这个jquery以获得对页面中中间iframe的响应?php脚本从mysql-db加载一些数据?在这种情况下,我不会将任何数据传递给php,所以我需要进行get或post请求吗?我的代码在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>
您只需每隔20秒直接重新加载iframe,无需$.ajax():
setInterval(function(){
$("#middle").attr('src', './getDataFromMySQLdb.php');
}, 20000);
然而,我认为你最好不要使用iframe。相反,只需使用一个id="middle"的div,并将结果直接加载到其中:
setInterval(function(){
$("#middle").load('./getDataFromMySQLdb.php');
}, 20000);
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>