无法使用document.cookie在UIWebview浏览器中读取cookie
Unable to read cookie in UIWebview browser with document.cookie
我有一个iOS应用程序,我正在Web视图中加载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并没有在webview浏览器中设置。查找document.cookie
返回一个空字符串。我可以使用xhr.getAllResponseHeaders()
打印所有响应标头,但无法访问xhr对象中的Set-Cookie
字段。
如何在网络视图中设置cookie?或者我别无选择,只能通过Obj-C发出所有ajax请求?
您可以在发送到web视图的请求中设置cookie。
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:yourURL];
[request setValue:yourCookie forHTTPHeaderField:@"Cookie"];
这可以在UIWebview委托shouldStartLoadWithRequest 中完成
相关文章:
- 正在阻止UIWebView警报
- 在jquery中为显示/隐藏设置cookie
- 按下按钮时保存cookie
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 如何访问UIWebView'的子窗口上下文
- 如何在Analytics.js中始终了解最新的cookie过期时间
- php httponly cookie在浏览器关闭时被删除
- 如何在提交表单时将PHP变量传递到Javascript cookie中
- 在iOS 4.3中未调用UIWebView shouldStartLoadWithRequest
- CORS-服务器端cookie没有保存在chrome浏览器上
- 如何为后台更改程序代码设置cookie
- 如何从另一个域加载cookie
- 使用jquery cookie的第三方cookie
- 无法在基于Cordova的应用程序中读取Set Cookie标头
- 如何在Javascript中将单选按钮值保存到cookie中
- cookie加载事件页面重定向
- MVC C#从jQuery和JSON.stringify创建的cookie中读取值
- 为什么可以't我在谷歌浏览器中返回cookie
- 如何使用单选按钮设置cookie值
- 无法使用document.cookie在UIWebview浏览器中读取cookie