2013-02-14 3 views
2

Как я могу загрузить этот jquery получить ответ на средний iframe на моей странице? Php-скрипт загружает некоторые данные из mysql db? в этом случае я не передаю какие-либо данные на php, поэтому мне нужно сделать запрос на получение или отправку? мой код отображает ответ 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

'+ good' должен быть просто' good' –

+0

Спасибо за ответ. Я тоже пробовал хорошо, прежде чем я опубликую его, это не сработает. Я перенаправляю меня на неправильную страницу! – user1788736

+0

На какой странице вы перенаправляете? –

ответ

3

Вы можете просто перезагрузить непосредственно IFRAME каждые 20 секунд, нет необходимости в $ .ajax():

setInterval(function(){ 
    $("#middle").attr('src', './getDataFromMySQLdb.php'); 
}, 20000); 

Однако, я думаю, что это будет лучше для вас не использовать iframe вообще. Вместо этого, просто использовать DIV с тем же идентификатором = «середины», и загружает результат непосредственно в него:

setInterval(function(){ 
    $("#middle").load('./getDataFromMySQLdb.php'); 
}, 20000); 
+0

Ваш первый код делает перезагрузку iframe каждые 20 секунд или просто обновляет данные? Я очень заинтересован в том, что не вижу возможности перезагрузки в браузере! Это возможно? – user1788736

+0

Первый фрагмент кода, который устанавливает src iframe, заставит его перезагрузить. – Dangelov

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>

+0

спасибо за ответ. Я уже знаю, как загрузить его в div. Но моя цель состоит в том, чтобы иметь возможность щелкнуть по одному элементу в моем ответе ajax (его интерактивный текст, как гиперссылка) в среднем iframe, и принять это значение и вставить его в другую таблицу в mysql и показать подтверждение в фрейме нижнего колонтитула, который записывает был вставлен. Все это без перехода на следующую страницу! Именно по этой причине я пытаюсь загрузить его в середине iframe. Надеюсь, вы, ребята, поможете мне с этим. Спасибо – user1788736