【发布时间】:2018-06-04 15:06:54
【问题描述】:
我正在使用 AlamoFire 将 JSON 发布到我的 Web 服务,并且发布成功并且值已提交到数据库,但 AlamoFire 正在返回 NSURLErrorDomain,然后显示我的“提交失败”消息。我在下面的代码中做错了什么?
//AlamoFire POST
var request = URLRequest(url: NSURL.init(string: URL)! as URL)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.timeoutInterval = 10 // secs
request.httpBody = try! JSONSerialization.data(withJSONObject: myJson, options: [])
Alamofire.request(request).responseJSON {
(response) in
log.info("HTTP RESPONSE: \(response.result)")
if response.result.isSuccess {
self.alertControllerMsg(msgStyle: UIAlertControllerStyle.alert,msgTitle: "Success", msgBody: "Update Delivered", cancelLbl: "", actionLbl: "Dismiss", complete: {
self.view.endEditing(true)
self.activityIndicator.stopAnimating()
self.sendBtn.isEnabled = true
})
} else if response.result.isFailure {
let error : Error = response.result.error!
log.error(error)
self.alertControllerMsg(msgStyle: UIAlertControllerStyle.alert,msgTitle: "Error", msgBody: "Update Failed. Please try again.", cancelLbl: "", actionLbl: "Dismiss", complete: {
self.activityIndicator.stopAnimating()
self.sendBtn.isEnabled = true
})
}
}
编辑:这是完整的错误信息:
Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={NSUnderlyingError=0x170643540 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, NSErrorFailingURLStringKey=http://{{URL.REDACTED}}/odata/Updates, NSErrorFailingURLKey=http://{{URL.REDACTED}}/odata/Updates, _kCFStreamErrorDomainKey=4, _kCFStreamErrorCodeKey=-2102, NSLocalizedDescription=The request timed out.}
【问题讨论】:
-
您应该发布完整的错误以供其他人分析出了什么问题。
-
@SanthoshR 添加了完整的错误消息
-
我已经尝试了这个线程中的所有解决方案,但没有任何运气:stackoverflow.com/questions/41803856/set-timeout-in-alamofire