控制器
/**
* 查询手机号码归属地页面
*/
public function aaa(){
$this->load->view('selecttell.html');
}
//存入memcache
public function ccc(){
//查看memcache中是否存在手机号信息
//初始化对象
$mem = new Memcache;
//建立连接
$mem->connect('127.0.0.1',11211);
$tell=$this->input->get('tell');
$get = $this->input->get('info');
//判断有没有数据
if($get&&$tell){
//接受数据
//将值存入memcache
$mem->set($tell,$get,0,60*60*2);
}else{
//未提交值进行查询
//从memcahe中取出数据
$info = $mem->get($tell);
//声明变量
$data = array();
//判断并返回值
if($info == ''){
$data['success'] = "0";
$data['msg'] = "值不存在";
exit(json_encode($data));
}else{
$data['success'] = "1";
$data['msg'] = "获取成功";
$data['result'] = $info;
exit(json_encode($data));
}
}
}
public function del(){
//连接memcache
$mem = new Memcache();
$mem->connect('127.0.0.1',11211);
$mem->flush();
redirect('Index/aaa');
}
视图
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>查询ip</title>
</head>
<body>
<center>
<h3>手机号查询系统</h3>
<input type="text" id="tell">
<button>查询并存入MEM</button><a href="<?=site_url('Index/del')?>">清空Memcache</a>
<div id="div1"></div>
<div id="mem"></div>
</center>
</body>
<script src="<?php echo base_url()?>public/jquery.1.12.js"></script>
<script>
$(function(){
//id选择器,点击获取数据
$("button").click(function(){
//当前对象
//var _this=$(this);
//获取当前对象的索引
//var index=_this.index;
//自定义电话号变量
var tell=$("#tell").val();
// alert(tell);
//在这里进行ajax请求判断memcache中有没有数据,有的话取出数据展示,否则的话通过接口查询再将查询到的数据通过ajax添加到memcache中
//
//
//ajax请求请求,查询memcache中有没有手机号信息
var url1 = "<?php echo site_url('Index/ccc')?>";
$.get(url1,{'tell':tell},function(data1){
//alert(data1);
//判断返回值
if(data1.success=='1'){
//memcache中有数据,返回即可
var str1=data1.result;
$("#mem").html("来自memcache:<br>"+str1);
$("#div1").html("");
}else{
//如果Memcache中没有数据,则采用ajax方法调用k780接口
//alert(telll);
//请求k780地址
var url="http://api.k780.com:88/?app=phone.get&phone="+tell+"&appkey=19964&sign=f9b5202283fbfb46b23c4d23662a72e9&format=json&jsoncallback=?";
$.get(url,function(msg){
var str="";
str+=msg['result']['ctype']+msg['result']['operators']+msg['result']['att'];
//将信息存放到div
$("#div1").html("来自接口:<br />"+str);
$("#mem").html("");
// 同时将str信息通过ajax存入memcache
var url2 = "<?=site_url('Index/ccc')?>";
$.get(url2,{'info':str,'tell':tell},function(data2){
},'json');
},"jsonp");
};
},"json");
});
})
</script>
</html>