首先,用到兩個jQuery函數,JSON.parse(Json字符串轉對象)和JSON.stringify(對象轉JSON字符串)
我這裡的分成兩次封裝,因為數據不在一個頁面裡。
這是第一個頁面:
$(".color-gray").click(function(){
var detail = new Object();//自定義一個空對象 將獲取的參數放入這個對象
detail.userName = $('input[data-node="userName"]').val();
detail.userSex = $(".userSex").val();
detail.detail = $('input[data-node="address"]').val();
detail.phone = $('input[data-node="telephone"]').val();
detail.id = $('input[name="address_id"]').val();
$.cookie("info", JSON.stringify(detail));//用JSON.stringify函數將對象轉成JSON字符串,放入Cookie裡。
location.href = "{pigcms{:U('User/adres_map')}";
});
第二個頁面:
$(".addresslist").live('click', function(){
info = JSON.parse($.cookie('info'));//因為第一個頁面中封裝的Cookie是JSON字符串,這裡要先轉成對象。再將本頁面的數據放進去。
info.name = $(this).attr("address");
info.longitude = $(this).attr("lng");
info.latitude = $(this).attr("lat");
$.cookie('info', JSON.stringify(info));//放進去之後,重新封裝
location.href = "{pigcms{:U('User/add_adres')}&address_id="+info.id;
});
這樣,頁面運行之後,Cookie中就有了上面的數據。
最後,jQuery清空Cookie,
$(".icon-arrow-left2").click(function(){
$.cookie('info', 0);
});
最最後,PHP方法交互,
<pre name="code" class="php">/* 執行編輯 */
public function edit_adres(){
$id = $_POST['address_id'];
$params['name'] = $_POST['name'];
$params['sex'] = $_POST['sex'];
$params['address'] = $_POST['address'];
$params['detail'] = $_POST['detail'];
$params['phone'] = $_POST['phone'];
$params['uid'] = $this->_uid;
$params['longitude'] = $_POST['longitude'];
$params['latitude'] = $_POST['latitude'];
$params['create_time'] = time();
if( !$id ){
if($returnId=D('表名')->data($params)->add()){
if(IS_AJAX){
setcookie('info');
$this->ajaxReturn($returnId, '添加成功', 1);exit;
}
} else {
$this->error('添加失敗,請重試!');
}
} else {
$where['address_id'] = $id;
if(D('表名')->where($where)->data($params)->save()){
if(IS_AJAX){
setcookie('info');
$this->ajaxReturn($id, '編輯成功', 1);exit;
}
} else {
$this->error('編輯失敗,請重試!');
}
}
}
最最最後,補充一下,
如果需要在頁面輸出已經寫好的cookie,需要先實例化一下,
detail = JSON.parse($.cookie('info'));
然後才能這樣使用,
detail.name
以上就是小編為大家帶來的jQuery的Cookie封裝,與PHP交互的簡單實現全部內容了,希望大家多多支持~