如何从cookie中获取到接口中的数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//公共方法
function getCookie(cname) {
//读取cookies
var name = cname + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1);
if (c.indexOf(name) != -1) return c.substring(name.length, c.length);
}
return "";
}

//name就是你想要拿的cookie的name;并将得到的cookie值赋给bbb
var bbb = getCookie('name');

几个注意问题:

如何找到自己想要的cookie的name呢?
打开浏览器的调试工具(以Chrome为例):里面的Application里面就能找你网页所用到的cookie列表
cookie列表
如何配合ajax请求使用呢?

1
2
3
4
5
$.ajax({
url: "https://example/api/",//你调用的端口连接
type: "POST",//请求方式
data: { name: bbb }//bbb就是上方定义的从cookie里取到的值
}

这里你不用管cookie里的值到底是什么,也不用编译。直接原封不动的转发,根据你后台的数据结构调用就可以了。这就是cookie,但它所能传输的数据大小是有限的(不能超过4k),而且因为它不用编译,往往可能会有一部分安全性问题。