angular搞了一半如今开始搞phonegap(确切的说应该叫cordova)。node
由于有很紧迫的需求,因此我也不能系统的学,只能遇到啥问题就解决啥。第一个问题就是cookie。git
通过调研,cordova是存在cookie的,这和web没有什么区别。只不过没有直接读写cookie的方法(github上有一个插件,可是做者不维护了)。github
由于不存在控制台,也不能输出cookie,因此验证cookie这件事儿只能在服务端进行了。个人nodejs终于能够现学现卖一下了。web
简单贴一下代码:ajax
服务端(nodejs)express
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
嗯,实验的结果是cookie是存在的。app
另外值得注意的是,若是用webstrom上起一个客户端的话(就是localhost:63342之类的),向http://192.168.1.137:3000发ajax是不被容许的,(废话,由于跨域了嘛)。可是打包在app上就不存在这个问题。固然,关于请求权限的问题之后确定还会搞的。ui