我已经通过php服务器设置了cookie并将其发送到这样的前端页面
$data = array (
'id' => $graphNode['id'],
//'birthday' => $graphNode['birthday'],
'birthday' => '',
'email' => $graphNode['email'],
'link' => $graphNode['link'],
'user_name' => $graphNode['name'],
'is_logged_in' => 1,
'profile_pic_link' => json_decode($graphNode['picture'])->url
);
$this->session->set_userdata($data);
$data = json_encode($data);
setcookie('facebook', $data, time()+3600, "/");
include('http://localhost/trada-frontend/index.html');
redirect('http://localhost/trada-frontend/index.html');
在我的index.html页面中,我可以提醒cookie
=实%7B%22id%22%3A%221114904728619320%22%2C%22birthday%22%3A%22%22%2C%22email%22%3A%22nguyenminhduc183%40yahoo.com%22%2C%22link% 22%3A%22https%3A%5C%2F%5C%2Fwww.facebook.com%5C%2Fapp_scoped_user_id%5C%2F1114904728619320%5C%2F%22%2C%22user_name%22%3A%22%5Cu0110%5Cu1ee9c + Nguy% 5Cu1ec5n%22%2C%22is_logged_in%22%3A1%2C%22profile_pic_link%22%3A%22https%3A%5C%2F%5C%2Fscontent.xx.fbcdn.net%5C%2FV%5C%2Ft1.0-1%图5C%2Fp50x50%5C%2F16406482_1104007966375663_2824130433013720008_n.jpg%3Foh%3D0c954d5a8698e78458737741fbf352e6%26oe%3D592DAD80%22%7D
如何使用jquery分割cookie的名称并将数据转换为JSON对象?非常感谢你。
答案 0 :(得分:0)
你甚至不需要jQuery:首先通过regex获取cookie的名称和内容,然后解码内容并将其解析为JSON:
var cookie = 'facebook=%7B%22id%22%3A%221114904728619320%22%2C%22birthday%22%3A%22%22%2C%22email%22%3A%22nguyenminhduc183%40yahoo.com%22%2C%22link%22%3A%22https%3A%5C%2F%5C%2Fwww.facebook.com%5C%2Fapp_scoped_user_id%5C%2F1114904728619320%5C%2F%22%2C%22user_name%22%3A%22%5Cu0110%5Cu1ee9c+Nguy%5Cu1ec5n%22%2C%22is_logged_in%22%3A1%2C%22profile_pic_link%22%3A%22https%3A%5C%2F%5C%2Fscontent.xx.fbcdn.net%5C%2Fv%5C%2Ft1.0-1%5C%2Fp50x50%5C%2F16406482_1104007966375663_2824130433013720008_n.jpg%3Foh%3D0c954d5a8698e78458737741fbf352e6%26oe%3D592DAD80%22%7D';
var cookieParts = cookie.match(/^([^=]+)=(.*)$/);
console.log("cookie name is " + cookieParts[1]);
console.log("cookie content as JSON is ", JSON.parse(decodeURIComponent(cookieParts[2])));

答案 1 :(得分:0)
这个答案很晚但是这里有一个班轮(使用es6 +):
var cookie = "referer=example.com/post?id=22;bcomID=8075; subreturn=example&fuzzy=true&ct=null&autobounce=true; JSESSIONID=6D20570E1EB; mbox=session"
var cookies = cookie.split(/[;] */).reduce((result, s)=>
({...({[s.split('=')[0]]:s.split('=')[1]}),...result}),
{});
console.log(JSON.stringify(cookies, null, 4));