对不起,我的英语很弱我尝试了多种类型的解决方案,但无法在Xcode 11.2.1
和swift 5
]中工作
我尝试这个
var urlRequest = URLRequest(url: URL(string: "https://xxxxxx/login")!) urlRequest.httpMethod = "POST" let params = [ "username": SessionManager.shared.username!, "password": SessionManager.shared.password!, "vhost": "standard" ] let postString = self.getPostString(params: params) urlRequest.httpBody = postString.data(using: .utf8) webView.load(urlRequest) ... //helper method to build url form request func getPostString(params:[String:String]) -> String { var data = [String]() for(key, value) in params { data.append(key + "=\(value)") } return data.map { String($0) }.joined(separator: "&") }
和此
并且也尝试在我的代码中添加以下行
request.addValue("application/json", forHTTPHeaderField: "Content-Type") request.addValue("application/json", forHTTPHeaderField: "Accept")
但不起作用我触发请求是因为
WKWebView
屏幕没有打开,但没有加载请求。如果我没有设置navigationDelegate并打开正常的URL
,那么它将完全正常工作如果我设置navigationDelegate,则所有空白页都会出现在所有请求中,如“正常”URL
触发或发布参数URL
触发,所有将进入“空白页”我不明白WKWebView
有什么问题请帮我。在此先感谢
抱歉,我的英语很弱,我尝试了多种类型的解决方案,但无法在Xcode 11.2.1和Swift 5中正常工作。我尝试了这种var urlRequest = URLRequest(url:URL(string:“ https:// xxxxxx / login” )!)...
[尝试一下,我们将使用URLSession发起POST请求,将服务器返回的数据转换为String,而不是加载url,我们将使用loadHTMLString,它将: