2010-04-30 3 views
1

Hé les gars question rapide, j'envoie une demande avec la fonction jquery ajax avec une variable. Après la requête, je veux que cette variable soit mise à jour pour correspondre à la valeur de l'information renvoyée, donc la prochaine fois que la fonction ajax sera exécutée, elle enverra la valeur de la nouvelle variable.
EDITmettre à jour la variable après le succès de la fonction ajax

$(document).ready(function() 
{ 
var countusers='<?php echo $countusers; ?>'; 

function refresh() { 

$.ajax({ 
    type: "POST", 
    data: "action=refresh_topic&countusers=" + countusers, 
    url: "tester.php", 
    dataType: 'json', 
    success: function(json) 
    { 
    var countusers=json.countusers; 
} 
}) 
} 
setInterval(refresh, 3000); 

    }); 
+1

i besoin de savoir d'où viennent les ** ** countusers la première fois! –

Répondre

4

la réponse ci-dessous est correcte!

juste une notation, puisque vous utilisez countusers également avant qu'il ne change, il suppose que vous le définissez également avant d'appeler AJAX la première fois!

MISE À JOUR:

<head> 
<script> 
$(function() { 

function refresh() { 

var countusers = $('#count_my_users').text(); 

$.ajax({ 
    type: "POST", 
    data: "action=refresh_topic&countusers=" + countusers, 
    url: "tester.php", 
    dataType: 'json', 
    success: function(json) 
    { 
    $('#count_my_users').empty().append(json.countusers); 
    // var countusers=json.countusers; 
} 
}) 
} 

setInterval(refresh, 3000); 

    }); 
</script> 
</head> 

<body> 
<div id="count_my_users"><?php echo $countusers; ?></div> 
      <!--/ THIS DIV HOLD USER COUNT /--> 
</body> 
+0

Désolé mais je ne comprends pas très bien votre deuxième vérification, pouvez-vous m'expliquer brièvement quelle est la signification de cela. Désolé mais je suis assez nouveau. – Scarface

+0

Qu'est-ce que this.id? – Scarface

+1

this.id est censé être l'ID du clic, mais est juste un exemple de valeur pseudo, dans votre cas, il devrait être countusers = your_value –

7

Votre définition de la variable dans votre fonction de succès. Définissez-le à l'extérieur afin qu'il ait une portée globale, puis mettez-le à jour dans votre fonction de réussite.

var countusers = 0; 
$.ajax({ 
    type: "POST", 
    data: {"countusers": countusers}, 
    url: "tester.php", 
    dataType: 'json', 
    success: function(json){ 
     countusers=json.rownumber; 
    } 
}); 
+0

Je l'avais déjà, mais pour une raison quelconque, ça ne fonctionnait pas. Il doit être quelque chose d'autre comme une valeur erronée envoyée si vous déclarez que cela devrait fonctionner hypothétiquement. – Scarface

+0

Votre code mis à jour a toujours redéfinir countusers dans le rappel de succès. Enlevez la var devant les countusers dans le rappel et cela devrait fonctionner – PetersenDidIt

Questions connexes