jQuery的Cookie封裝,與PHP交互

首先,用到兩個jQuery函數,JSON.parse(Json字符串轉對象)和JSON.stringify(對象轉JSON字符串)php

我這裏的分紅兩次封裝,由於數據不在一個頁面裏。node

這是第一個頁面:git

$(".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,ajax

$(".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

若是須要在頁面輸出已經寫好的cookie,須要先實例化一下,函數

detail = JSON.parse($.cookie('info'));
而後才能這樣使用,

detail.name
相關文章
相關標籤/搜索