您的位置:首页 > 其它

关于phonegap的cookie

2016-08-19 16:18 309 查看
angular搞了一半现在开始搞phonegap(确切的说应该叫cordova)。

因为有很紧迫的需求,所以我也不能系统的学,只能遇到啥问题就解决啥。第一个问题就是cookie。

经过调研,cordova是存在cookie的,这和web没有什么区别。只不过没有直接读写cookie的方法(github上有一个插件,但是作者不维护了)。

因为不存在控制台,也不能输出cookie,所以验证cookie这件事儿只能在服务端进行了。我的nodejs终于可以现学现卖一下了。

简单贴一下代码:

服务端(nodejs)

var express=require("express");
var app=express();
app.use(require('cookie-parser')());
app.get('/ajax',function(req,res){
res.cookie("test","I_am_a_cookie");
res.send("ajax1");
});
app.get('/ajax2',function(req,res){
console.log(req.cookies);
res.send("ajax2");
});
app.listen(3000);


客户端:

var $btn=$("#btn");
$btn.click(function(){
var senddata="";
$.get("http://192.168.1.137:3000/ajax",function(data){
console.log(data);
document.write(data);
senddata=data+"__ok";
$.get("http://192.168.1.137:3000/ajax2",function(data){
document.write(senddata);
});
});

})


很简单,就是客户端发一个GET请求,服务端写进去一个cookie发回去,然后客户端再尝试读request里是否有cookie。

嗯,实验的结果是cookie是存在的。

另外值得注意的是,如果用webstrom上起一个客户端的话(就是localhost:63342之类的),向http://192.168.1.137:3000发ajax是不被允许的,(废话,因为跨域了嘛)。但是打包在app上就不存在这个问题。当然,关于请求权限的问题以后肯定还会搞的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: