Где управлять cookie в приложении phonegap с помощью jquery? - PullRequest
11 голосов
/ 26 февраля 2011

Мое родное приложение для iphone, разработанное с помощью phonegap с jquery (так, на основе браузера), может войти в систему на веб-сервере, и после входа пользователи могут получить доступ к своим ресурсам.Сервер устанавливает идентификатор сессии в cookie, как только пользователь проходит аутентификацию.

У меня нет проблем с этой схемой, но мне интересно, где хранится cookie, потому что когда я делаю alert (document.cookie), он возвращается пустымstring.

Возможно ли, что функция ajax в jquery самостоятельно управляет cookie и отправляет его при каждом запросе в один и тот же домен?

1 Ответ

14 голосов
/ 28 апреля 2011

Если вы хотите, чтобы ваше приложение автоматически управляло файлами cookie, добавьте его в файл appDelegate.m:

NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage 
                                      sharedHTTPCookieStorage]; 
[cookieStorage setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways]; 

Если вы хотите самостоятельно управлять информацией о сеансе, вы можете выполнять все запросы ajax, например:this:

var request =   {
                url: my_server_url,
                success: function(response, status, request) {
                    var header = request.getAllResponseHeaders();
                    var match = header.match(/(Set-Cookie|set-cookie): (.+?);/);
                    if(match)
                        my_saved_cookie = match[2];
                },
                }

if(my_saved_cookie)
    request.headers = { Cookie: my_saved_cookie };

$.ajax(request);

В моем приложении я самостоятельно управлял сессионными куки-файлами, используя второй метод, пока не обнаружил первый метод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...