3

我正在使用 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 中使用它吗?

4

1 回答 1

1

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

iOS cookie 似乎从 phonegap 2.5 开始就存在问题;请参阅 [在 PhoneGap/Cordova 中处理 cookie

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

于 2014-03-01T17:31:36.327 回答