2013-07-16 5 views
0
setInterval(function(){ 
    $.ajax({ 
     url: "random_obiava.php", 
     succes: function(){ 
      $("#random_ob").load("random_obiava.php").hide().fadeIn("slow"); 
      $("#random_ob").html("suc"); 
     }, 
     error: function() { 
      $("#random_ob").html("err"); 
     } 
    }); 
}, 1000); 

Voici mon code. Je veux afficher des résultats aléatoires toutes les X secondes. Mais ce code renvoie toujours une erreur. Je suis sûr que le chemin vers le fichier est correct, donc je ne pense pas que ce soit le problème.Ajax rafraîchir et charger le fichier php

+2

quelle erreur? peux-tu montrer? –

+2

Aussi, pourquoi chargez-vous le fichier deux fois? L'appel ajax renvoie les données déjà. Voir http://api.jquery.com/jQuery.ajax/ – Patrick

+0

Que voulez-vous dire deux fois? Le premier consiste à actualiser le fichier et l'étape suivante consiste à afficher le contenu du fichier. Si j'utilise seulement load() le contenu du fichier reste le même et il n'est pas randomisé. – k1tkat

Répondre

0

Ce que vous voulez faire, c'est long. Toutes les X secondes, vous effectuez une nouvelle demande sur le serveur et ceci est une mauvaise pratique - votre client sentira votre application fonctionner trop lentement au fil du temps. Je vous suggère d'utiliser une technologie asynchrone intelligente comme SignalR ou NodeJS pour effectuer ce problème comme vous le souhaitez.

Par ailleurs, pour répondre à votre question:

Ce fragment de code est mal. Vous utilisez succes au lieu de success. Voir:

succes: function(){ 
     $("#random_ob").load("random_obiava.php").hide().fadeIn("slow"); 
     $("#random_ob").html("suc"); 
} 

La bonne voie est:

success: function(){ 
    $("#random_ob").load("random_obiava.php").hide().fadeIn("slow"); 
    $("#random_ob").html("suc"); 
} 

Ceci est une erreur de syntaxe. Portez plus d'attention à votre écriture.