如何使用.load()存储变量中的值;

时间:2013-08-13 13:54:58

标签: javascript jquery function variables load

我想比较两个变量oldRefreshnewRefresh。输入中的oldRefresh值,通过键入oldRefresh

轻松将其存储在var oldRefresh= $('#oldrefresh').val();

但是newRefresh很难得到它,我需要从.load();

的其他文件中获取它

这是代码:

var oldRefresh= $('#oldrefresh').val();

setInterval(function ()
{
    $('#noti_number').load('include/js_notification_count.php?n=".$_SESSION['username']."');
    });
}, 5000); 

我试过了:

var newRefresh = setInterval(function ()
{
    $('#noti_number').load('include/js_notification_count.php?n=".$_SESSION['username']."');
    });
}, 5000); 
alert(newRefresh);

当加载结果为2时,结果为0

所以我试过这个

setInterval(function ()
{
    var newRefresh = $('#noti_number').load('include/js_notification_count.php?n=".$_SESSION['username']."');
    });
    alert(newRefresh);
}, 5000); 

结果是[object Object]。我不明白。如何将load值转换为变量?

2 个答案:

答案 0 :(得分:1)

jQuery加载正在用js_notification_count.php文件返回的信息替换该对象。您可以添加.text()或更改加载函数,如:

setInterval(function () {
   $('#noti_number').load('include/js_notification_count.php?n=<?=$_SESSION['username']?>', function(response, status, xhr) {
         newRefresh = response;
         alert(newRefresh);
      }
   });
}, 5000);

我会使用ajax(如果你不需要noti_number来获得返回的响应),例如:

setInterval(function () {
   $.ajax({
      type: "GET", //Change to whatever method type you are using on your page
      url: "include/js_notification_count.php",
      data: { n: "<?=$_SESSION['username']?>" }
   }).done(function(result) {
      newRefresh = result;
      alert(newRefresh);
   });
}, 5000); 

答案 1 :(得分:-1)

如果你这样做,你应该能够比较这些值:

$('#noti_number').load(
   'include/js_notification_count.php?n=".$_SESSION['username']."',
   function(aData) {
      //Do your comparison here.
   }
)

传回的数据应该是来自服务器的响应。