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