Где cookie управляется в приложении phonegap с jquery?

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

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

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

Ответы

Ответ 1

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

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

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

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);

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