0

我想比较两个变量,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值放入变量中?

4

2 回答 2

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); 
于 2013-08-13T13:59:16.760 回答
-1

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

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

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

于 2013-08-13T14:04:40.047 回答