gpt4 book ai didi

带有发布请求的 swift3 webview

转载 作者:行者123 更新时间:2023-12-02 07:19:59 25 4
gpt4 key购买 nike

我正在运行一个学校项目,并且我是 swift3 的新人。

通过搜索,我知道如何将数据从一个 View 传递到另一个 View : Passing data from a tableview to webview

在上面的帖子中,他使用http get请求将数据传递到网站,然后重新加载webivew:

let URL = NSURL(string: "https://www.example.com?data=\(passData)")
webView.loadRequest(NSURLRequest(url: URL! as URL) as URLRequest)

我在这里看到一些有用的链接,例如有关带有 http post 请求的代码: HTTP Request in Swift with POST method 。结果,代码可以打印出http响应。

我的问题是,如何通过发送 http post reuqest(如 id、name 等)而不是 get 方法来实现 webview。

换句话说:我想重新加载 webview(例如 example.com),并且该网站将包含我通过 http post 请求发送的值。

example.com:

$id = $_POST['id'];
echo $id;

谢谢。

最佳答案

只需为 POST 创建一个 URLRequest(如第二个链接所示),并将其传递给 webView:

var request = URLRequest(url: URL(string: "http://www.example.com/")!)
request.httpMethod = "POST"
let postString = "id=\(idString)"
request.httpBody = postString.data(using: .utf8)
webView.loadRequest(request) //if your `webView` is `UIWebView`

(考虑使用 WKWebView 而不是 UIWebView。)

如果idString包含一些特殊字符,您可能需要对其进行转义。

<小时/>

顺便说一句,两行代码:

let URL = NSURL(string: "https://www.example.com?data=\(passData)")
webView.loadRequest(NSURLRequest(url: URL! as URL) as URLRequest)

似乎不是一个好的 Swift 3 代码。可以写成:

let url = URL(string: "https://www.example.com?data=\(passData)")!
webView.loadRequest(URLRequest(url: url))

关于带有发布请求的 swift3 webview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41409180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com