Еще одна проблема с IE jQuery AJAX / post - PullRequest
0 голосов
/ 05 февраля 2010

ОК, так что у меня есть этот сайт, http://www.leinstein.dk.

Вы увидите "Hello World!" Это из ok.php, я сделал скрипт, который обновляет ok.php через 10 секунд. В любом случае, это не показывает в IE. Я не знаю почему, и я надеюсь, что вы мне поможете.

Вот мой сценарий:

function ajax_update()
{
      cache: false
 /* var wrapperId  = '#wtf'; */
 var postFile = 'ok.php';
    $.post("ok.php", function(data){
 cache: false
          $("#wtf").html(data);
      });  
 setTimeout('ajax_update()', 10000);

}   

А вот index.php:

<?
header("cache-control: no-cache");
?>
<html>
<head>
<link href="style.css" type="text/css" rel="stylesheet" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script src="ajax_framework.js" language="javascript" charset="UTF-8"></script>
</head>
<!-- AJAX UPDATE COMMENTS BEGIN -->
<body onload="ajax_update();">
<!-- AJAX UPDATE END -->
<br>

<div id="wtf"></div>
</body>
</html>

Спасибо, вперед ...!

Ответы [ 3 ]

2 голосов
/ 05 февраля 2010

Вы не можете просто поместить cache: false в ваш код в случайных местах. Пожалуйста, изучите базовый синтаксис Javascript , прежде чем начинать писать код. Вы, вероятно, узнаете гораздо больше, следуя основному руководству, чем размещая здесь кучу локализованных вопросов в StackOverflow.

Однако я покажу вам, как должна выглядеть ваша функция на этот раз . Но я настоятельно рекомендую прочитать учебник, на который я дал ссылку.

function ajax_update()  { 
  $.post("ok.php", function(data){ 
    $("#wtf").html(data); 
    setTimeout(ajax_update, 10000);
  });
}    
0 голосов
/ 08 мая 2010

Почему бы не обернуть вашу функцию в готовую функцию jQuery, например, вам не нужно ждать загрузки всех элементов страницы, только DOM.

$(document).ready(function() {

});
0 голосов
/ 05 февраля 2010
function ajax_update()
{
      var postFile = 'ok.php';

      $.post("ok.php", function(data){
          $("#wtf").html(data);
      });  

    setTimeout(ajax_update, 10000);
}

Вы также столкнетесь с ситуацией, когда вы пытаетесь изменить DOM до его готовности, потому что вы вызываете эту функцию в body.onLoad, но вся страница должна быть готова для использования $('#wtf'). вам нужно переосмыслить это ... и, возможно, освежить синтаксис JS :-)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...