關於phonegap的cookie

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

相關文章
相關標籤/搜索