【发布时间】:2017-07-20 12:31:44
【问题描述】:
我正在向我的 API 发出 POST 请求。突然之间,请求被跳过了。我已经尝试调试它,但直到现在都没有成功。
这是我的要求:
@IBAction func checkLogin(_ sender: Any) {
guard let managedContext = self.managedObjectContext else { return }
let user = NSEntityDescription.insertNewObject(forEntityName: User.identifier, into: managedContext) as! User
let url = ""
let parameters: Parameters =
["username" : usernameTextField.text!, "password" : passwordTextField.text!]
Alamofire.request(url, method: .post, parameters: parameters, encoding: URLEncoding.default).responseJSON { (responseData) -> Void in
let results = JSON(responseData.result.value!)
print(results)
user.firstName = results["firstname"].string!
let responseString : String = responseData.response?.allHeaderFields["Set-Cookie"] as! String
if let range = responseString.range(of: ";"){
let startIndex = (responseString.range(of: "="))
let cookie = responseString[(startIndex?.upperBound)!...range.lowerBound]
user.setValue(cookie, forKey: "token")
}
} do {
try self.dataController.saveContext()
}catch {
print("Save Error User")
}
我正在使用 Alamofire 4.5 和 Swift 3.1。
【问题讨论】:
-
您是否在
Alamofire闭包内添加了断点?请求是异步的,因此如果您只是单步执行代码,它可能不会被调用。 -
另外,你的
url是空白的,是为了这个例子吗? -
@Ollie 的 URL 是空白的 :) 是的,我添加了一堆断点。调用请求后,调试器直接跳到最后。
-
如果您的网址为空,那么 Alamofire 将如何回复您?
-
@devangbhatt 空白网址仅用于场景描述。在“工作”示例中,Url 已填充
标签: swift swift3 xcode8 alamofire swifty-json