2010-02-05 7 views
0

OK j'ai donc ce site, http://www.leinstein.dk.Un autre problème IE jQuery AJAX/post

Vous verrez « Bonjour tout le monde! » Cela vient de ok.php, ive a fait un script qui rafraîchit ok.php après 10 secondes. Quoi qu'il en soit, cela ne montre pas dans IE. Je ne sais pas pourquoi, et j'espère que vous pouvez m'aider.

Voici mon script:

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); 

} 

Et voici 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> 

Nous vous remercions à l'avant ..!

+2

Vous avez des erreurs de script évidentes (cache aléatoire ': lignes FALSE') –

+0

Avez-vous essayé de courir quelque chose comme Fiddler pour avoir un aperçu ce que ces requêtes http ressemblent? –

+0

Ive seulement utilisé Firebug pour voir requête http .. et je me suis 304 Non Modifié le dessus: http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js – Karem

Répondre

2

Vous ne pouvez pas simplement mettre cache: false dans votre code dans des endroits aléatoires. S'il vous plaît learn basic Javascript syntaxe avant de commencer à écrire du code. Vous apprendrez probablement beaucoup plus en suivant un tutoriel de base que de poster un tas de questions localisées ici sur StackOverflow.

Je vais, cependant, vous montrer à quoi votre fonction devrait ressembler cette fois. Mais je recommande fortement de lire le tutoriel que j'ai fourni un lien vers.

function ajax_update() { 
    $.post("ok.php", function(data){ 
    $("#wtf").html(data); 
    setTimeout(ajax_update, 10000); 
    }); 
}  
+0

Merci pour le lien. J'ai essayé cela, mais unfourtanly comme l'autre ne fonctionne pas .. – Karem

+1

Ça ne fonctionne pas? Awww, quelle honte. Si seulement mon débogueur de niveau ESP n'était pas plein de bugs se ... –

+0

est tellement bizarre son travail parfaitement sur FF, mais pas dans IE – Karem

0
function ajax_update() 
{ 
     var postFile = 'ok.php'; 

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

    setTimeout(ajax_update, 10000); 
} 

Youre aussi va courir dans une situation où vous essayez de modifier le DOM avant son prêt parce que vous êtes en invoquant cette fonction à body.onload mais la page entière doit beready afin d'utiliser $('#wtf'). vous devez repenser cela ... et probablement rafraîchir la syntaxe de js :-)

+1

Quoi qu'il en soit est valide. Ce n'est pas le problème. –

+0

Ouais, j'ai réalisé que, après le fait ... la ligne de cache aléatoire et d'autres choses ... édité à cet effet. – prodigitalson

+0

Cela ne fonctionne pas .. Il ne s'affiche toujours pas dans IE – Karem

0

Pourquoi ne pas envelopper votre fonction dans une fonction jQuery prêt, comme vous n'aurez pas besoin d'attendre le chargement de tous les éléments de la page, juste le DOM.

$(document).ready(function() { 

});