У меня есть приложение для iOS, в которое я загружаю html-контент в веб-просмотр. Html - это страница входа, на которой учетные данные пользователя отправляются на сервер через ajax, и принимается ответ об успешном / неудачном завершении аутентификации. Теперь ответ содержит cookie-файл (в поле заголовка Set-Cookie
), который я могу записать на стороне Objective-C следующим образом:
NSDictionary* headers = [(NSHTTPURLResponse *)response allHeaderFields];
NSString *strCookies = [headers valueForKey:@"Set-Cookie"];
NSLog(@"cookies -> %@", strCookies);
Этот же ответ также содержит responseText
, который я использую в браузере:
Ajax("/login", "POST", { onsuccess : function(response){
/* Do HTML stuff with response */ }
});
Теперь мне нужен файл cookie для дальнейших запросов ajax (после страницы входа). Тем не менее, cookie не установлен внутри браузера. Поиск document.cookie
возвращает пустую строку. Я могу напечатать все заголовки ответа, используя xhr.getAllResponseHeaders()
, но не могу получить доступ к полю Set-Cookie
в объекте xhr.
Как установить cookie в веб-просмотре? Или у меня нет выбора, кроме как делать все запросы Ajax через Obj-C?