您好我有使用swift编写的IOS应用程序已登录,并且在成功登录后,该应用程序将转移到具有webView
的活动。
应用程序和网站共享相同的API。登录过程是指我提供正确的username
和password
api return token
我使用Alamofire框架作为http请求
正确管理了应用登录Alamofire.request(.POST, url, parameters: param).responseJSON{ (request, response, JSONdata, error) in
if error != nil {
let result = ["Error" : "Unexpected Error!"]
callback(result: result)
} else {
if response?.statusCode == 401 {
println(401)
let result = ["Error" : "User not found!"]
callback(result: result)
} else if response?.statusCode == 200 {
let responseDict = JSONdata as! NSDictionary
callback(result:responseDict)
}
}
}
这是我显示的webview代码
let requestURL = NSURL(string: "myURL")
let request = NSMutableURLRequest(URL: requestURL!)
webView.loadRequest(request)
我需要在webview中显示它正在发生的网站,但我需要与webview分享会话,因为他们与应用程序共享相同的API。
有谁可以帮助我?如何实现这一点。答案 0 :(得分:0)
如果您想将令牌作为正文传递给请求您可以执行以下操作。它在Objective C中,将其转换为swift。
NSURL *url = [NSURL URLWithString: @"http://your_url.com"];
NSString *body = [NSString stringWithFormat: @"token=%@",varToken];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL: url];
[request setHTTPMethod: @"POST"];
[request setHTTPBody: [body dataUsingEncoding: NSUTF8StringEncoding]];
[webView loadRequest: request];
答案 1 :(得分:0)
为了在应用程序和Web视图之间共享会话,需要在它们之间共享cookie,因此在加载Web视图之前,请先设置cookie。
在此函数中,传递您的cookie并将您的请求值设置为rate_id
myRequest