我有一个当前编码如下的 webview:
let url = NSURL(string: "http://example.com")
let request = NSURLRequest(URL: url!)
monitorView.loadRequest(request)
这工作得很好,但是当涉及到向该 url 发布数据然后加载它时,我将如何处理?我是 swift 的新手,似乎无法弄清楚这一点。
最佳答案
你可以使用像 NSURLSession
这样的类,它允许控制你的 HTTP 交互,并在你的 webView 中加载 HTML 字符串
使用示例:
let request = NSMutableURLRequest(URL: NSURL(string: "http://www.someLink.com/postName.php"))
request.HTTPMethod = "POST"
let postString = "id=XYZ"
request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
if error != nil {
println("error=\(error)")
return
}
println("response = \(response)")
let responseString = NSString(data: data, encoding: NSUTF8StringEncoding)
println("responseString = \(responseString)")
}
task.resume()
或者您可以准备一个带有 POST 正文的 NSMutableURLRequest
并将其加载到您的 webView 中,如下所示:
//need to use MutableRequest to set HTTPMethod to Post.
var url = NSURL(string: "http://www.somesite.com/post.php")
var request = NSMutableURLRequest(URL: url!)
request.HTTPMethod = "POST"
var bodyData: String = "someUsernameOrKey"
request.HTTPBody = bodyData.dataUsingEncoding(NSUTF8StringEncoding)
webView.loadRequest(request)
关于ios - Swift webview xcode 发布数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32482442/