php ajax cookie 关于多城市切换的实现方法
首先我们来想想实现的方法,我首先想到的方法就是用ajax+cookie的方法。。方法确定了我们来看看具体的实现:
我们先要做的就是切换一个弹出层。。这点就不讲了、。现在要做的是点击获取点击的值,我们用jquery来实现
这是我们选择的层
<div id="city_list" class="city_list" style="display:none">
<ul>
<li><a href="#">北京</a></li>
<li><a href="#">西安</a></li>
<li><a href="#">上海</a></li>
</ul>
</div>
下来我们用jquery来获取点击的值,
$(function(){ $('#city_list li').click(function(){ var city_name = $(this).text(); //获取<li>点击的值 $.post("cookie.php", { c_val: city_name }, function (data){ //用post方法给cookie.php传值li获取的值 window.location.reload(); // 返回刷新页面 }); }); })
下面我们在cookie.php来获取post传的值
setcookie('city_name','$_POST[c_val]',time()+24*3600);
cookie的值已经传好。下面我们直接调用就好了
echo $_COOKIE['city_name'];
核心的工作基本上都做完了。。只需加上城市表,根据城市命获取城市ID。。然后根据id限制调用就好了,
值得注意的是jquery,ajax传值都是转换成UTF-8格式的,所以用gbk编码的就要用iconv(“utf-8″,”gbk”, $_COOKIE['city_name'])转换一下格式了
播下一种行为,收获一种习惯