无法在Phonegap iOS中的document.cookie中设置域?

帕拉米萨米

在phonegap iOS版本中,当我使用document.cookie设置一个具有用于存储会话值的域的cookie时,我将无法执行此操作。

检索时,它给了我空的Cookie。您能否指导我如何在Phonegap iOS应用程序中设置带有域的cookie。

当我尝试设置没有域的cookie时,它的工作正常。但是我的请求将在没有域的情况下失败。我用下面的代码。

document.cookie = "SESSION=" + SESSION +"; path=/; domain=.facebook.com";

but when i try below code its working.

document.cookie = "SMSESSION=" + SMSESSION +"; path=/;";

但如果没有会话,我的应用将失败。

还尝试了document.domain,它破坏了我的JavaScript代码。

帕拉米萨米

这就是我解决问题的方式。要设置cookie,我已经创建了phonegap插件并使用了本地http客户端。通过本机客户端设置cookie和域后,使用javascript的普通http客户端运行良好。

iOS phonegap插件代码来设置cookie。

NSDictionary *cookieProperties = [NSDictionary dictionaryWithObjectsAndKeys:
                              @".domain.com", NSHTTPCookieDomain,
                              @"/", NSHTTPCookiePath,
                              @"SESSION", NSHTTPCookieName,
                              @"Session value",NSHTTPCookieValue,nil];
NSDictionary *cookieProperties1 = [NSDictionary dictionaryWithObjectsAndKeys:
                              @".domain.com", NSHTTPCookieDomain,
                              @"/", NSHTTPCookiePath,
                              @"some cookie", NSHTTPCookieName,
                              @"some cookie value",NSHTTPCookieValue,nil];

NSHTTPCookie *cookie1 = [NSHTTPCookie cookieWithProperties:cookieProperties1];
NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
NSArray* cookieArray = [NSArray arrayWithObjects: cookie,cookie1, nil];
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookies:cookieArray forURL:[NSURL   URLWithString:urlString] mainDocumentURL:nil];

在cookie存储中设置cookie之后,创建NSURLConnection并执行同步或异步请求。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章