如何在iOS Phonegap中设置cookie?

时间:2012-12-16 19:03:41

标签: javascript jquery ajax cordova reddit

我正在使用reddit API并且可以成功登录并接收cookie值作为回报。我使用的代码如下

loginPost = $.ajax({
type: 'POST',
url: 'http://www.reddit.com/api/login/' + username + '?user=' + username + '&passwd=' + password + '&api_type=json',
xhrFields: {
    withCredentials: true
},
dataType: "json",
success: function() {
    console.log("Define response variables");
    var header = loginPost.getAllResponseHeaders();
    var responseText = loginPost.responseText;
    var match = header.match(/(Set-Cookie|set-cookie): reddit_session=(.+?);/);
    if (match) {
        reddit_session = match[2];
        window.localStorage.setItem("reddit_session", reddit_session);
        window.localStorage.setItem("reddit_username", username);
        window.localStorage.setItem("reddit_password", password);
        console.log("Logged in!");
        //alert(responseText);
        $('.loginWrapper').slideUp('fast', function() {
            $('#feedWrapper').css("top", "44px");
            $('#feedWrapper').css("bottom", "0");
            // Animation complete.
        });
    }

    else {
        reddit_session = null;
        window.localStorage.setItem("reddit_session", null);
        navigator.notification.alert('Your username or password is incorrect. Please try again.');
        console.log("Login Failed");
    }

},
});

我正在使用

存储Cookie
var header = loginPost.getAllResponseHeaders();
var match = header.match(/(Set-Cookie|set-cookie): reddit_session=(.+?);/);
                                          if(match){
                                          reddit_session = match[2];
                                          window.localStorage.setItem("reddit_session", reddit_session);

但是,Cookie不会通过简单的请求发送给http://www.reddit.com/api/me.json。返回的所有内容都是一个空的JSON响应,如此{}。如果我在浏览器中浏览到该链接(当然,我登录到reddit),它会返回一个包含所有用户数据的JSON字符串。

知道如何存储cookie以便它可以在UIWebView中使用吗?

1 个答案:

答案 0 :(得分:1)

  
    

知道如何存储cookie以便它可以在UIWebView中使用吗?

  

似乎iOS cookie因为phonegap 2.5而存在问题;请参阅[在PhoneGap / Cordova中处理cookie

我看不到更多当前(phonegap 3.3)信息[http://docs.phonegap.com/en/3.3.0/_index.html]