这次博文主要写一个困扰我两天的ajax调用问题。
PHP端
- $data['status'] = 1; @H_404_22@
- $data['info'] = 1; @H_404_22@
- $data['url'] = 1; @H_404_22@
- $m = M('webworkpage'); @H_404_22@
- $where ="satae = 0"; @H_404_22@
- $first = $m->where($where)->count(); @H_404_22@
- $num = $m->count(); @H_404_22@
- $data['size'] = $first; @H_404_22@
- $data['sizes'] = $num; @H_404_22@
- if ($num) { @H_404_22@
- $this->ajaxReturn($data,'JSON'); @H_404_22@
- }else{ @H_404_22@
- $this->ajaxReturn($data,'JSON'); @H_404_22@
- } @H_404_22@
ajaxReturn 在PHP3.2版本之后都使用 $data定义参数,然后最后使用ajaxReturn($data,'JSON');
如果使用之前的ajaxReturn(1,"成功消息",1);这种是无法传值回去。可能跟环境有关,用的是onethink框架,PHP5.3以上。
这是判断新消息的一个简单版本,具体正统的解法我也不太懂。这个暂时能够解决新消息提醒的问题!
- script language="JavaScript"> @H_404_22@
- //设置全局变量 @H_404_22@
- number = 0; @H_404_22@
- count = 0; @H_404_22@
- setInterval("check_news()",1000); //每隔一秒执行 @H_404_22@
- function check_news(){ @H_404_22@
- $.getJSON("{$a}",'',function(json){//获取PHP端传过来的json数据 @H_404_22@
- if(json.status==1){ @H_404_22@
- var num = json.size; @H_404_22@
- var nums = json.sizes; @H_404_22@
- if(num&&count==0){ @H_404_22@
- alert("有新消息"+num); @H_404_22@
- number = nums; @H_404_22@
- count++; @H_404_22@
- }else if(number @H_404_22@
- alert("有新消息"+number+"<"+nums); @H_404_22@
- number = nums; @H_404_22@
- } @H_404_22@
- }else{ @H_404_22@
- } @H_404_22@
- }) @H_404_22@
- } @H_404_22@
- /script> @H_404_22@