2010-04-30 3 views
1

Привет, ребята, быстрый вопрос, я отправляю запрос с помощью функции jquery ajax с переменной. После запроса я хочу, чтобы эта переменная обновлялась в соответствии со значением отправляемой обратной информации, поэтому в следующий раз, когда выполняется функция ajax, она отправляет значение новой переменной.
EDITпеременная обновления после успешного использования функции 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

я должен знать, откуда приходят ** countusers ** в первый раз! –

ответ

4

ответить ниже верно!

только обозначение, так как вы используете countusers еще до его изменения, предполагается, что вы устанавливаете его и перед тем, как позвонить AJAX в первый раз!

UPDATE:

<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

Извините, но я не совсем понимаю вашу вторую проверку, можете ли вы вкратце объяснить мне, каково ее значение. Извините, но я совершенно новый. – Scarface

+0

Что это такое? – Scarface

+1

this.id должен быть идентификатором щелчка, но это всего лишь пример псевдовычисления, в вашем случае это должно быть countusers = your_value –

7

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

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

У меня уже было это, но по какой-то причине он просто не работал. Это должно быть что-то другое, как неправильное значение, отправляемое, если вы утверждаете, что гипотетически он должен работать. – Scarface

+0

Ваш обновленный код все еще имеет его переопределение счетчиков в обратном вызове успеха. Удалите var infront countusers в обратном вызове, и он должен работать – PetersenDidIt

Смежные вопросы