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'])转换一下格式了

 

 

posted @ 2012-09-28 11:33  有风的下午  阅读(475)  评论(0编辑  收藏  举报