本文实例讲述了Ajax实现对静态页面的文章访问统计功能。分享给大家供大家参考,具体如下:
众所周知,静态页面不仅速度快,而且对seo也有一定的帮助。前些日子,写了一帖关于《在SAE平台实现WordPress页面纯静态化至KVDB》。我自己使用了一段时间后,发现提速确实很明显。但是随之而来的一个问题就是,由于文章静态化后,页面并不会经过WordPress程序的处理,这样就导致了文章的访问量统计失效。当然,有一个叫做wp-postview的插件是可以解决这个问题的,但是我不是很喜欢插件,因为会拖慢整体的速度。所以这里就给出一个解决方案,就是使用Ajax来实现统计,同样是基于SAE平台的。
定义文章访问统计类
这个其实在我前面的帖子里面已经有提到过了KVDB+TaskQueue实现高效计数器,对这个做简单修改即可。由于不经过php处理,所以就不能使用队列服务来计数。同样定义计数类,并且放到网站根目录下:
?
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
$countkey=$_GET['key'];//获取要操作的计数key
if($countkey=="") exit;
if($_GET['action']=="add"){
$cou=new counter($countkey);
$cou->inc();//计数key对应的值加1
}elseif($_GET['action']=="get"){
$cou=new counter($countkey);
echo $cou->get();
}
class counter {
private $kvdb;
private $key;
public function __construct($key){
$this->kvdb=new CKvdb();
$this->key=$key;
}
public function inc(){
$num=$this->kvdb->get($this->key)+1;
$this->kvdb->set($this->key,$num);
return $num;
}
public function dec(){
$num=$this->kvdb->get($this->key)-1;
$this->kvdb->set($this->key,$num);
return $num;
}
public function get(){
$num=$this->kvdb->get($this->key);
return intval($num);
}
}
class CKvdb //这个类封装的kvdb操作。
{
private $db;
function __construct(){
$this->db=new SaeKv();
$this->db->init();
}
public function set($key,$value)
{
$this->db->set($key,$value);
}
public function get($key)
{
return $this->db->get($key);
}
}
|
添加计数代码
在你的文章内容页面,添加如下的Ajax请求代码,该代码是基于jQuery的:
?
|
1
2
3
4
5
|
var keyTemp = $('#postTemp').text();
$.get('http://localhost/counter.php',{ action:'add',key:keyTemp });
$.get('http://localhost/counter.php',{ action:'get',key:keyTemp },function(data){
$('#view').text(data+' Views');
});
|
keyTemp变量就是文章的别名,即存入KVDB中的键。我把该健存到一个隐藏的div身上,然后在使用Ajax的时候去获取该div的内容。Ajax中第一个get就是去访问counter.php计数类,并且带上参数,实现访问加1. 第二个get就是取访问值了,把取到的值放到相应的地方中去。
希望本文所述对大家PHP程序设计有所帮助。
相关文章
猜你喜欢
- ASP.NET本地开发时常见的配置错误及解决方法? 2025-06-10
- ASP.NET自助建站系统的数据库备份与恢复操作指南 2025-06-10
- 个人网站服务器域名解析设置指南:从购买到绑定全流程 2025-06-10
- 个人网站搭建:如何挑选具有弹性扩展能力的服务器? 2025-06-10
- 个人服务器网站搭建:如何选择适合自己的建站程序或框架? 2025-06-10
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
2025-05-27 20
-
2025-05-29 62
-
2025-05-27 97
-
2025-05-27 63
-
2025-05-25 61
热门评论

