要求在迅速3.2
问题描述:
let header = [
"Content-Type":"application/json",
"X-Source":"iOS",
"Authorization":token]
let strURL = "ValidURL"
let manager = AFHTTPSessionManager()
let serializer = AFHTTPRequestSerializer()
for (_,dict) in header.enumerated() {
serializer.setValue("\(dict.value)", forHTTPHeaderField: "\(dict.key)")
}
manager.requestSerializer = serializer
let req = serializer.request(withMethod: "POST", urlString: strURL, parameters: params, error: nil)
manager.dataTask(with: req as URLRequest) { (response, data, error) in
print(error)
print(response)
print(data)
}
//No response from this method
使用JSON和头AFNetworking另外,我想:要求在迅速3.2
var request = URLRequest(url: URL(string: strURL)!)
request.httpMethod = "POST"
for (_,dict) in header.enumerated() {
request.setValue("\(dict.value)", forHTTPHeaderField: "\(dict.key)")
}
request.httpBody = try! JSONSerialization.data(withJSONObject: params, options: .prettyPrinted)
manager.dataTask(with: request) { (response, data, error) in
print(error)
print(response)
print(data)
}
连我都试过:
manager.post(strURL, parameters: params, progress: nil, success: { (sessionTask, respose) in
if let dict = respose as? Dictionary<String,Any> {
print(dict)
} else {
}
}) { (task, error) in
print(error)
}
//It Give me: failed: bad request (400)
答
有两个问题在这里
当您使用dataTask方法时,您将返回一个任务对象。当您想要发送请求时,您需要拨打
resume()
。您的错误表明您的JSON正文不正确。那是在您的
params
对象中,可能与服务所期望的不匹配。
在第一个两个版本,dataTask的结果是,应该有'简历()'任务调用它 –
@LouFranco感谢,但恢复后没有运气'“无法处理JSON” –
参考'来'https:// github.com/AFNetworking/AFNetworking',在请求序列化部分,你想要什么。 –