Swift webview xcode发布数据

Den*_*ink 2 ios swift

我有一个webview,目前编码如下:

    let url = NSURL(string: "http://example.com")
    let request = NSURLRequest(URL: url!)

    monitorView.loadRequest(request)
Run Code Online (Sandbox Code Playgroud)

这工作得很好,但是在将数据发布到此网址然后加载时,我将如何处理?我是一个相当新的快速,似乎无法弄清楚这一点.

Woo*_*ock 8

您可以使用类似的类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()
Run Code Online (Sandbox Code Playgroud)

或者你可以准备NSMutableURLRequest一个POST主体并在你的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)
Run Code Online (Sandbox Code Playgroud)