Где управлять cookie в приложении phonegap с помощью jquery?
Мое родное приложение для iphone, разработанное с помощью phonegap с jquery (на основе браузера), может войти на веб-сервер, и после входа пользователи могут получить доступ к своим ресурсам. Сервер устанавливает идентификатор сеанса в cookie, когда пользователь проходит аутентификацию.
У меня нет проблем с этой схемой, но мне интересно, где хранится cookie, потому что, когда я делаю alert(document.cookie), он возвращает пустую строку.
Возможно ли, что функция ajax в jquery самостоятельно управляет cookie и отправляет его при каждом запросе в один и тот же домен?
1 ответ
Если вы хотите, чтобы ваше приложение автоматически управляло файлами cookie, добавьте это в файл 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);
В моем приложении я сам управлял сессионными куки-файлами, используя второй метод, пока не обнаружил первый метод.