【发布时间】:2018-03-19 14:25:18
【问题描述】:
let Url = String(format: "http://url/ios.php")
guard let serviceUrl = URL(string: Url) else { return }
let parameterDictionary :[String:String] = ["Episodes" : "http://url/anime/07-ghost.html"]
var request = URLRequest(url: serviceUrl)
request.httpMethod = "POST"
request.setValue("multipart/form-data", forHTTPHeaderField: "Content-Type")
request.httpBody = NSKeyedArchiver.archivedData(withRootObject: parameterDictionary)
let session = URLSession.shared
session.dataTask(with: request) { (data, response, error) in
if let response = response {
print(response)
}
if let data = data {
do {
let json = try JSONSerialization.jsonObject(with: data, options: [])
print(json)
}catch {
print(error)
}
}
}.resume()
}
我得到错误
Error Domain=NSCocoaErrorDomain Code=3840 "No value." UserInfo={NSDebugDescription=No value.}
不确定我是否正确发送数据,我认为我设置 httpbody 不正确
我什至尝试过使用 json request.setValue("application/json", forHTTPHeaderField: "Content-Type") 守卫让 httpBody = 试试? JSONSerialization.data(withJSONObject: parameterDictionary, options: []) else { 返回 }
【问题讨论】:
-
你可以使用AFNetworking - stackoverflow.com/questions/34938242/…
-
为什么不试试
Alamofire有什么特别的原因吗很容易使用github.com/Alamofire/Alamofire -
弄明白了 request.httpMethod = "POST" + let postString = "Episodes=" + (animeModel?.link)!;在这一行添加注释 + request.httpBody = postString.data(using: String.Encoding.utf8);
标签: ios swift multipartform-data nsurlsession